<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 4.2.0">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"halma.gitee.io","root":"/","scheme":"Pisces","version":"7.7.2","exturl":false,"sidebar":{"position":"right","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":"mac"},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":true,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
  </script>

  <meta name="description" content="折腾不需要理由">
<meta property="og:type" content="website">
<meta property="og:title" content="左右流之的放逐岛">
<meta property="og:url" content="https://halma.gitee.io/index.html">
<meta property="og:site_name" content="左右流之的放逐岛">
<meta property="og:description" content="折腾不需要理由">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="左右流之">
<meta property="article:tag" content="黑苹果">
<meta property="article:tag" content="Hackintosh">
<meta property="article:tag" content="左右流之">
<meta name="twitter:card" content="summary">

<link rel="canonical" href="https://halma.gitee.io/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : true,
    isPost : false,
    lang   : 'zh-CN'
  };
</script>

  <title>左右流之的放逐岛</title>
  






  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">左右流之的放逐岛</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
      <p class="site-subtitle" itemprop="description">黑苹果技术分享</p>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-fw fa-home"></i>首页</a>

  </li>
        <li class="menu-item menu-item-about">

    <a href="/about/" rel="section"><i class="fa fa-fw fa-user"></i>关于</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-fw fa-tags"></i>标签</a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-fw fa-th"></i>分类</a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>归档</a>

  </li>
  </ul>
</nav>




</div>
    </header>

    
  <div class="back-to-top">
    <i class="fa fa-arrow-up"></i>
    <span>0%</span>
  </div>


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content index">
            

  <div class="posts-expand">
        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2025/FAQIntelHD/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2025/FAQIntelHD/" class="post-title-link" itemprop="url">FAQIntelHD</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2025-06-14 05:24:38" itemprop="dateCreated datePublished" datetime="2025-06-14T05:24:38+08:00">2025-06-14</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2025-10-27 14:14:04" itemprop="dateModified" datetime="2025-10-27T14:14:04+08:00">2025-10-27</time>
              </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <hr>
<p>title: 英特尔® 核芯显卡 常见问答<br>date: 2025-04-30 16:07:37<br>keywords: 4英特尔® 核芯显卡 常见问答,左右流之<br>description: 本文记述了英特尔® 核芯显卡 常见问答。<br>categories: Hackintosh<br>comments: false<br>tags:</p>
<ul>
<li>黑苹果</li>
<li>Acer 4738G</li>
</ul>
<hr>
<h1 id="英特尔®-核芯显卡-常见问答"><a href="#英特尔®-核芯显卡-常见问答" class="headerlink" title="英特尔® 核芯显卡 常见问答"></a>英特尔® 核芯显卡 常见问答</h1><p><strong>英特尔® 核芯显卡（下文简称“核显”）</strong> 是内置于 英特尔® 中央处理器中的显卡（译者注：即常说的“英特尔核显”）。并非所有的 英特尔® 中央处理器都配备核显。如需查询您的型号是否配备，查阅 <a href="https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units" target="_blank" rel="noopener">此处</a>（译者注：该页面暂无中文版本。上次检查日期: 2019/03/25）或在 英特尔® 官方网站上获取更多信息。如：从上表中可以得知 <a href="https://ark.intel.com/content/www/cn/zh/ark/products/75123/intel-core-i7-4770k-processor-8m-cache-up-to-3-90-ghz.html" target="_blank" rel="noopener">i7-4770K</a> 使用了 英特尔® HD 4600 核显；而 <a href="https://ark.intel.com/content/www/cn/zh/ark/products/77780/intel-core-i7-4930k-processor-12m-cache-up-to-3-90-ghz.html" target="_blank" rel="noopener">i7-4930K</a> 则不配备核显。</p>
<p>macOS 对 HD 2000（Sandy Bridge 微架构）及以上提供了相对完整支持。较早的型号则需参考部分特定教程，如 <a href="https://www.insanelymac.com/forum/topic/286092-guide-1st-generation-intel-hd-graphics-qeci" target="_blank" rel="noopener">适用于 英特尔® Arrandale 微架构处理器的一份指南</a>（译者注：原文发布于以英文交流为主的社区，所以并无中文版本）, <a href="https://www.applelife.ru/threads/intel-gma950-32bit-only.22726" target="_blank" rel="noopener">GMA 550</a>（译者注：原文发布于俄文社区，所以并无中文版本）, <a href="https://www.applelife.ru/threads/intel-gma-x3100-zavod.36617" target="_blank" rel="noopener">GMA X3100</a>（译者注：原文发布于俄文社区，所以并无中文版本）。值得注意的是，并非所有的型号都可以正常工作。（详情如下）</p>
<p>使用独立显卡（如 AMD 或 NVIDIA）时，同时开启 英特尔® 核显仍起作用，其可在脱机模式（下注）中用于硬件编码和媒体文件解码等。</p>
<p>注：“脱机模式”，亦称 <a href="https://www.applelife.ru/threads/zavod-intel-quick-sync-video.817923/" target="_blank" rel="noopener">空缓冲帧</a>，即无输出接口（译者注：原文发布于俄文社区，所以并无中文版本）</p>
<p>正确启用核显的通常步骤：</p>
<ol>
<li>修正有关设备的 ACPI 名称（核显自身名为 IGPU，英特尔® 管理引擎（英文缩写: IMEI）名为 IMEI）。</li>
<li>如若必要，将 核显 / IMEI 的 设备 ID 仿冒为合适的型号。</li>
<li>指定正确的缓冲帧。（英文: Framebuffer, 下文简称 缓冲帧 为 FB）（即 AAPL,ig-platform-id（适用于 Ivy Bridge 或更新微架构）或 AAPL,snb-platform-id（仅适用于 Sandy Bridge 微架构）) 一组正确的 FB 应当正确地包含了可用的输出端口以及该核显的其他属性。</li>
<li>某些与核显相关的其他设备中已包含相关属性。</li>
</ol>
<p>其中，第 1 步和第 4 步由 WhateverGreen 自动完成。其可运行在 macOS 10.8 及更高版本，这大大简化了正确启用核显的步骤。</p>
<h2 id="建议"><a href="#建议" class="headerlink" title="建议"></a>建议</h2><ol>
<li>在 BIOS 中设置核显所需的内存量（即 预分配 DVMT，英文: DVMT Pre-Allocated）为 32 MB, 64 MB, 96 MB 等，与使用的 FB 值相关。如要使用最大值（英文: DVMT Total），请设为 MAX。<br><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/bios.png" alt=""> </li>
</ol>
<p>一些有缺陷的 BIOS 可能会有显示值与实际值不符的现象，并且实际值通常小于显示值，此时则需要设定一个更高的显示值。此现象在 戴尔 笔记本中比较常见，显示值为 64 MB，实际却只分配了 32 MB，且无法更改。后续会展示此现象。</p>
<ol start="2">
<li><p>将 <a href="https://github.com/vit9696/Lilu/releases" target="_blank" rel="noopener">Lilu.kext</a> 和 <a href="https://github.com/acidanthera/WhateverGreen/releases" target="_blank" rel="noopener">WhateverGreen.kext</a>（下文简称为 WEG）添加到 Clover 的 <code>kexts/Other</code> 文件夹中。</p>
</li>
<li><p>移除下列驱动（如果曾经在使用）</p>
</li>
</ol>
<ul>
<li>IntelGraphicsFixup</li>
<li>NvidiaGraphicsFixup </li>
<li>CoreDisplayFixup </li>
<li>Shiki </li>
<li>IntelGraphicsDVMTFixup </li>
<li>AzulPatcher4600</li>
<li>AppleBacklightFixup</li>
<li>FakePCIID_Intel_HD_Graphics </li>
<li>FakePCIID_Intel_HDMI_Audio </li>
<li>FakePCIID.kext（不使用其他基于 FakePCIID 的插件时）</li>
</ul>
<ol start="4">
<li><p>关闭以下所有 Clover 的显卡参数注入（注意是 <em>关闭</em>，不是注释掉）<br><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/Clover1.png" alt=""></p>
</li>
<li><p>关闭 Clover 的以下 DSDT 补丁</p>
</li>
</ol>
<ul>
<li><code>AddHDMI</code></li>
<li><code>FixDisplay</code></li>
<li><code>FixIntelGfx</code></li>
<li><code>AddIMEI</code></li>
<li><code>FixHDA</code></li>
<li><code>AddPNLF</code></li>
</ul>
<ol start="6">
<li><p>关闭 Clover 的 <code>UseIntelHDMI</code></p>
</li>
<li><p>禁用 <code>Devices</code> - <code>Inject</code>参数（通常的 config.plist 中或许没有此参数，如有，则需关闭或删除）<br><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/Clover2.png" alt=""></p>
</li>
<li><p>删除 <code>-disablegfxfirmware</code> 启动参数</p>
</li>
<li><p>删除或注释掉 <code>IntelGFX</code> 和 <code>IMEI</code> 的 <code>FakeID</code>（译者注：在相应条目前面加 #，下同）</p>
</li>
<li><p>删除或注释掉 <code>ig-platform-id</code></p>
</li>
<li><p>完全删除 DSDT 和 SSDT 模块 (config.plist) 中的 <code>Arbitrary</code>, <code>AddProperties</code>，以及 DSDT 或 SSDT 表单中设备 IGPU, IMEI, HDEF 下有关 HDMI 的设定（若存在）。</p>
</li>
<li><p>删除或禁用以下 ACPI 重命名补丁: <code>GFX0 to IGPU</code>, <code>PEGP to GFX0</code>, <code>HECI to IMEI</code>, <code>MEI to IMEI</code>, <code>HDAS to HDEF</code>, <code>B0D3 to HDAU</code></p>
</li>
</ol>
<p>若要注入属性，请使用 config.plist 中的 <code>Properties</code> 功能，并且应当仅添加以下内容：</p>
<ul>
<li><code>AAPL,ig-platform-id</code> 或 <code>AAPL,snb-platform-id</code></li>
<li>设备 <code>IGPU</code> 的 <code>device-id</code>（需要仿冒时）</li>
<li>设备 <code>IMEI</code> 的 <code>device-id</code>（需要仿冒时）</li>
<li>部分补丁设定（必要时）</li>
</ul>
<p>以及设备 <code>HDEF</code> 的 <code>Layout-ID</code>（细节详见 <a href="https://github.com/acidanthera/AppleALC" target="_blank" rel="noopener">AppleALC</a>。HDEF 设备的 <code>PciRoot</code> 位置可通过 <a href="https://github.com/acidanthera/gfxutil" target="_blank" rel="noopener">gfxutil</a> 来获取，在终端输入: <code>gfxutil -f HDEF</code> 即可）</p>
<p>这些或许并不需要，比如：默认的 FB 已经几乎完美，或是已经通过启动参数（英文: <code>boot-arg</code>）设置，并且无需仿冒相关设备的  <code>device-id</code>。</p>
<p>注意：上述属性应使用十六进制代码表示，并且需要倒序输入。如 <code>0x0166000B</code> 应该用 <code>0B006601</code> 表示。</p>
<p>下面分别提供了适用于不同微架构的常用 <code>IGPU</code> 和 <code>IMEI</code> 属性模版。</p>
<p><strong>注意！</strong> 如果某个属性不是必需的，请完全删除掉；如果某个 <code>PciRoot</code> 位置不存在，也请彻底删除！</p>
<p><img src="https://raw.githubusercontent.com/acidanthera/WhateverGreen/master/Manual/Img/basic.png" alt=""></p>
<p><strong>选择一个适合的 FB。</strong> 首先试试推荐值，如果失败，则逐个尝试其他值，除了 “空 FB”（无可用端口），详见另一个 <a href="https://www.applelife.ru/threads/zavod-intel-quick-sync-video.817923" target="_blank" rel="noopener">专题</a>。（译者注：原文发布于俄文社区，所以并无中文版本）在寻找合适的 FB 时，可以临时通过启动参数（英文: <code>boot-arg</code>）设置，此时 <code>Properties</code> 部分中的 FB 设置将被忽略。如: <code>igfxframe=0x0166000B</code></p>
<p><strong>注意！</strong> 此处格式与 <code>Properties</code> 部分的格式不同，这里应正序输入并保留 <code>0x</code> 前缀，如上例所示。</p>
<ul>
<li>如未指定 FB，将会使用默认值；</li>
<li>如未设定 FB 并且存在独立显卡，将使用一组空 FB。</li>
</ul>
<h2 id="HD-2000-3000（Sandy-Bridge-微架构，下文简称-SNB）"><a href="#HD-2000-3000（Sandy-Bridge-微架构，下文简称-SNB）" class="headerlink" title="HD 2000/3000（Sandy Bridge 微架构，下文简称 SNB）"></a>HD 2000/3000（<a href="https://zh.wikipedia.org/zh-cn/Sandy_Bridge微架構" target="_blank" rel="noopener">Sandy Bridge</a> 微架构，下文简称 SNB）</h2><p>支持 macOS 10.7 至 10.13.6，本文适用于 10.8 到 10.13.6。在旧版本系统上请使用传统驱动方式。从 macOS 10.14 起，HD 2000/3000 已经不再支持。<a href="https://applelife.ru/posts/744431" target="_blank" rel="noopener">此处有强制驱动的方法</a>。（译者注：原文发布于俄文社区，所以并无中文版本）当然，此方法无法开启 Metal。</p>
<p>SNB 微架构可用的 FB 列表:</p>
<ul>
<li>0x00010000 (移动版，4 端口，无 FBMEM)</li>
<li>0x00020000 (移动版，1 端口，无 FBMEM)</li>
<li>0x00030010 (桌面版，3 端口，无 FBMEM)</li>
<li>0x00030020 (桌面版，3 端口，无 FBMEM)</li>
<li>0x00030030 (桌面版，无端口，无 FBMEM)</li>
<li>0x00040000 (移动版，3 端口，无 FBMEM)</li>
<li>0x00050000 (桌面版，无端口，无 FBMEM)</li>
</ul>
<p>译者注：此处部分内容（“SNB 平台详细信息”）可能不必翻译至中文。</p>
<details>
<summary>SNB 平台详细信息（点击此处以展开）</summary>
AppleIntelSNBGraphicsFB.kext  

<p>ID: SNB0 0x10000, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 1 MB, MAX STOLEN: 0 bytes, MAX OVERALL: 1 MB (1064960 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 2, PortCount: 4, FBMemoryCount: 0<br>[5] busId: 0x03, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000009 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000400, flags: 0x00000009 - ConnectorDP<br>05030000 02000000 30000000<br>02050000 00040000 07000000<br>03040000 00040000 09000000<br>04060000 00040000 09000000  </p>
<p>ID: SNB1 0x20000, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 1 MB, MAX STOLEN: 0 bytes, MAX OVERALL: 1 MB (1052672 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 2, PortCount: 1, FBMemoryCount: 0<br>[5] busId: 0x03, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>05030000 02000000 30000000  </p>
<p>ID: SNB2 0x30010 or 0x30020, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 1 MB, MAX STOLEN: 0 bytes, MAX OVERALL: 1 MB (1060864 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 0 Hz, FreqMax: -1 Hz<br>Mobile: 0, PipeCount: 2, PortCount: 3, FBMemoryCount: 0<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000009 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>02050000 00040000 07000000<br>03040000 00040000 09000000<br>04060000 00080000 06000000  </p>
<p>ID: SNB3 0x30030, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 0 bytes, MAX STOLEN: 0 bytes, MAX OVERALL: 0 bytes<br>Camelia: CameliaUnsupported (255), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: SNB4 0x40000, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 1 MB, MAX STOLEN: 0 bytes, MAX OVERALL: 1 MB (1060864 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 2, PortCount: 3, FBMemoryCount: 0<br>[1] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000009 - ConnectorDP<br>01000000 02000000 30000000<br>02050000 00040000 07000000<br>03040000 00040000 09000000  </p>
<p>ID: SNB5 0x50000, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 0 bytes, MAX STOLEN: 0 bytes, MAX OVERALL: 0 bytes<br>Camelia: CameliaUnsupported (255), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: SNB6（地址不可用）, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 512 KB, MAX STOLEN: 0 bytes, MAX OVERALL: 512 KB<br>Camelia: CameliaUnsupported (255), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 1, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: SNB7（地址不可用）, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 0 bytes, MAX OVERALL: 1 MB (1589248 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 4, FBMemoryCount: 0<br>[1] busId: 0x00, pipe: 0, type: 0x00000400, flags: 0x00000030 - ConnectorDP<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000009 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>01000000 00040000 30000000<br>02050000 00040000 07000000<br>03040000 00040000 09000000<br>04060000 00080000 06000000  </p>
<p>缺省 SNB ID, DVMT: 0 bytes, FBMEM: 0 bytes, VRAM: 0 bytes, Flags: 0x00000000<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 4, FBMemoryCount: 0<br>[1] busId: 0x00, pipe: 0, type: 0x00000400, flags: 0x00000030 - ConnectorDP<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000009 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>01000000 00040000 30000000<br>02050000 00040000 07000000<br>03040000 00040000 09000000<br>04060000 00080000 06000000  </p>
<p>注意：以下机型在不指定 <code>AAPL,snb-platform-id</code> 时，将默认使用 <code>-&gt;</code> 后的相应 ID。</p>
<p>Mac-94245B3640C91C81 -&gt; SNB0 (MacBookPro8,1)<br>Mac-94245AF5819B141B -&gt; SNB0<br>Mac-94245A3940C91C80 -&gt; SNB0 (MacBookPro8,2)<br>Mac-942459F5819B171B -&gt; SNB0 (MacBookPro8,3)<br>Mac-8ED6AF5B48C039E1 -&gt; SNB2 (Macmini5,1)<br>Mac-7BA5B2794B2CDB12 -&gt; SNB2 (Macmini5,3)<br>Mac-4BC72D62AD45599E -&gt; SNB3 (Macmini5,2) -&gt; no ports<br>Mac-742912EFDBEE19B3 -&gt; SNB4 (MacBookAir4,2)<br>Mac-C08A6BB70A942AC2 -&gt; SNB4 (MacBookAir4,1)<br>Mac-942B5BF58194151B -&gt; SNB5 (iMac12,1) -&gt; no ports<br>Mac-942B5B3A40C91381 -&gt; SNB5 -&gt; no ports<br>Mac-942B59F58194171B -&gt; SNB5 (iMac12,2) -&gt; no ports   </p>
</details>

<p>####<br><em>推荐的 FB 配置</em>：0x00030010（桌面版，缺省值）或 0x00010000（移动版，缺省值）。</p>
<p>注意：HD 2000 无法单独工作，不过它可以（并且应该）配合一组 “空 FB”（无可用端口）使用以使 <a href="https://www.applelife.ru/threads/zavod-intel-quick-sync-video.817923" target="_blank" rel="noopener">IQSV</a> 正常工作。（译者注：原文发布于俄文社区，所以并无中文版本）SNB 平台下，仅 HD 3000 可单独工作。</p>
<p>通常 SNB 平台无需指定 FB，与 <code>board-id</code> 相对应的一组 FB 将会被自动使用。不过，在使用不基于 SNB 平台的 SMBios 时，则需指定 FB。（译者注：如使用 <code>HD 3000</code> + 基于 <code>Ivy Bridge</code> 平台的 <code>MacBookPro9,1</code> 时，则需指定 FB）</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/snb.png" alt=""></p>
<p>注意！为 SNB 平台指定 FB 时，属性名应为 <code>AAPL,snb-platform-id</code>，这与其他平台不同。</p>
<p>对于桌面版，需设定（仿冒）<code>device-ID</code> 为 <code>26010000</code>。（如下所示）</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/snb_igpu.png" alt=""></p>
<p>（注：对于“空 FB”，需要设定不同的 ID，阅读 <a href="https://www.applelife.ru/threads/zavod-intel-quick-sync-video.817923" target="_blank" rel="noopener">此处</a> 以获取更多详情）（译者注：原文发布于俄文社区，所以并无中文版本）</p>
<p><em>注意！</em> 在基于 <a href="https://ark.intel.com/content/www/cn/zh/ark/products/series/98460/intel-7-series-chipsets.html?_ga=2.100876037.569501178.1553421075-527540512.1553334841" target="_blank" rel="noopener">7 系列芯片组</a> 的主板上使用基于 <code>SNB</code> 微架构的处理器时（译者注：如在 <code>Z77</code> 芯片组上使用基于 <code>SNB</code> 微架构的 <code>i7-2600</code> 时），需设定（仿冒）<code>IMEI</code> 的 <code>device-ID</code> 为 <code>3A1C000</code>。（如下所示）</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/snb_imei.png" alt=""></p>
<h2 id="HD-2500-4000（Ivy-Bridge-微架构，下文简称-Ivy）"><a href="#HD-2500-4000（Ivy-Bridge-微架构，下文简称-Ivy）" class="headerlink" title="HD 2500/4000（Ivy Bridge 微架构，下文简称 Ivy）"></a>HD 2500/4000（<a href="https://zh.wikipedia.org/zh-cn/Ivy_Bridge微架構" target="_blank" rel="noopener">Ivy Bridge</a> 微架构，下文简称 Ivy）</h2><p>支持 macOS 10.8 或更新版本。</p>
<p>Capri (Ivy) 可用的 FB 列表：</p>
<ul>
<li>0x01660000 (桌面版，4 端口，24 MB)</li>
<li>0x01260006 (桌面版，无端口，无 FBMEM，0 字节)</li>
<li>0x01260007 (桌面版，无端口，无 FBMEM，0 字节)</li>
<li>0x01260005 (桌面版，3 端口，16 MB)</li>
<li>0x01660001 (移动版，4 端口，24 MB)</li>
<li>0x01660002 (移动版，1 端口，24 MB)</li>
<li>0x01660008 (移动版，3 端口，16 MB)</li>
<li>0x01660009 (移动版，3 端口，16 MB)</li>
<li>0x01660003 (移动版，4 端口，16 MB)</li>
<li>0x01660004 (移动版，1 端口，16 MB)</li>
<li>0x0166000A (桌面版，3 端口，16 MB)</li>
<li>0x0166000B (桌面版，3 端口，16 MB)</li>
</ul>
<p>译者注：此处内容（“Ivy 平台详细信息”）可能不必翻译至中文。</p>
<details>
<summary>Ivy 平台详细信息（点击此处以展开）</summary>
AppleIntelFramebufferCapri.kext  

<p>ID: 0x01660000, STOLEN: 96 MB, FBMEM: 24 MB, VRAM: 1024 MB, Flags: 0x00000000<br>TOTAL STOLEN: 24 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 72 MB, MAX OVERALL: 73 MB (77086720 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 4, FBMemoryCount: 3<br>[1] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000400, flags: 0x00000007 - ConnectorDP<br>01000000 02000000 30000000<br>02050000 00040000 07000000<br>03040000 00040000 07000000<br>04060000 00040000 07000000  </p>
<p>ID: 0x01620006, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 256 MB, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 0 bytes, MAX STOLEN: 0 bytes, MAX OVERALL: 0 bytes<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x01620007, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 256 MB, Flags: 0x00000000<br>TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 0 bytes, MAX STOLEN: 0 bytes, MAX OVERALL: 0 bytes<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x01620005, STOLEN: 32 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 32 MB, MAX OVERALL: 33 MB (34615296 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 0, PipeCount: 2, PortCount: 3, FBMemoryCount: 2<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000011 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>02050000 00040000 11000000<br>03040000 00040000 07010000<br>04060000 00040000 07010000  </p>
<p>ID: 0x01660001, STOLEN: 96 MB, FBMEM: 24 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 24 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 72 MB, MAX OVERALL: 73 MB (77086720 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 4, FBMemoryCount: 3<br>[1] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[2] busId: 0x05, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>01000000 02000000 30000000<br>02050000 00080000 06000000<br>03040000 00040000 07010000<br>04060000 00040000 07010000  </p>
<p>ID: 0x01660002, STOLEN: 64 MB, FBMEM: 24 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 24 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 24 MB, MAX OVERALL: 25 MB (26742784 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 1, FBMemoryCount: 1<br>[1] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>01000000 02000000 30000000  </p>
<p>ID: 0x01660008, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 48 MB, MAX OVERALL: 49 MB (51916800 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[1] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>01000000 02000000 30000000<br>02050000 00040000 07010000<br>03040000 00040000 07010000  </p>
<p>ID: 0x01660009, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 48 MB, MAX OVERALL: 49 MB (51916800 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[1] busId: 0x00, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>01000000 02000000 30000000<br>02050000 00040000 07010000<br>03040000 00040000 07010000  </p>
<p>ID: 0x01660003, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 32 MB, MAX OVERALL: 33 MB (34619392 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 2, PortCount: 4, FBMemoryCount: 2<br>[5] busId: 0x03, pipe: 0, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000407 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000081 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000400, flags: 0x00000081 - ConnectorDP<br>05030000 02000000 30000000<br>02050000 00040000 07040000<br>03040000 00040000 81000000<br>04060000 00040000 81000000  </p>
<p>ID: 0x01660004, STOLEN: 32 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 16 MB, MAX OVERALL: 17 MB (18354176 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 1, FBMemoryCount: 1<br>[5] busId: 0x03, pipe: 0, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>05030000 02000000 30020000  </p>
<p>ID: 0x0166000A, STOLEN: 32 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 32 MB, MAX OVERALL: 33 MB (34615296 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 0, PipeCount: 2, PortCount: 3, FBMemoryCount: 2<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>02050000 00040000 07010000<br>03040000 00040000 07010000<br>04060000 00080000 06000000  </p>
<p>ID: 0x0166000B, STOLEN: 32 MB, FBMEM: 16 MB, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 16 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 32 MB, MAX OVERALL: 33 MB (34615296 bytes)<br>Camelia: CameliaUnsupported (255), Freq: 1808 Hz, FreqMax: 1808 Hz<br>Mobile: 0, PipeCount: 2, PortCount: 3, FBMemoryCount: 2<br>[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[4] busId: 0x06, pipe: 0, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>02050000 00040000 07010000<br>03040000 00040000 07010000<br>04060000 00080000 06000000  </p>
</details>

<p>####<br><em>推荐的 FB 设置</em>：0x0166000A（桌面版，缺省值）或 0x01620005（桌面版）；0x01660003（移动版，缺省值）或 0x01660009（移动版）或 0x01660004（移动版）。</p>
<p>注意：HD 2500 无法单独工作，不过它可以（并且应该）配合一组 “空 FB”（无可用端口）使用以使 <a href="https://www.applelife.ru/threads/zavod-intel-quick-sync-video.817923" target="_blank" rel="noopener">IQSV</a> 正常工作。（译者注：原文发布于俄文社区，所以并无中文版本）Ivy 平台下，仅 HD 4000 可单独工作。</p>
<p><em>注意！</em> 在基于 <a href="https://ark.intel.com/content/www/cn/zh/ark/products/series/98461/intel-6-series-chipsets.html?_ga=2.2193906.333725926.1553422863-527540512.1553334841" target="_blank" rel="noopener">6 系列芯片组</a> 的主板上使用基于 <code>Ivy</code> 微架构的处理器时（译者注：如在 <code>Z68</code> 芯片组上使用基于 <code>Ivy</code> 微架构的 <code>i7-3770</code> 时），需设定（仿冒）<code>IMEI</code> 的 <code>device-ID</code> 为 <code>3A1E0000</code>。（如下所示）</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/ivy_imei.png" alt="">  </p>
<h2 id="Intel-HD-Graphics-4200-5200（Haswell-微架构）"><a href="#Intel-HD-Graphics-4200-5200（Haswell-微架构）" class="headerlink" title="Intel HD Graphics 4200-5200（Haswell 微架构）"></a>Intel HD Graphics 4200-5200（<a href="https://zh.wikipedia.org/zh-cn/Haswell微架構" target="_blank" rel="noopener">Haswell</a> 微架构）</h2><p>支持 macOS 10.9 或更新版本。</p>
<p>Azul (Haswell) 可用的 FB 列表：</p>
<ul>
<li>0x0C060000 (桌面版，3 端口，209 MB)</li>
<li>0x0C160000 (桌面版，3 端口，209 MB)</li>
<li>0x0C260000 (桌面版，3 端口，209 MB)</li>
<li>0x04060000 (桌面版，3 端口，209 MB)</li>
<li>0x04160000 (桌面版，3 端口，209 MB)</li>
<li>0x04260000 (桌面版，3 端口，209 MB)</li>
<li>0x0D260000 (桌面版，3 端口，209 MB)</li>
<li>0x0A160000 (桌面版，3 端口，209 MB)</li>
<li>0x0A260000 (桌面版，3 端口，209 MB)</li>
<li>0x0A260005 (移动版，3 端口，52 MB)</li>
<li>0x0A260006 (移动版，3 端口，52 MB)</li>
<li>0x0A2E0008 (移动版，3 端口，99 MB)</li>
<li>0x0A16000C (移动版，3 端口，99 MB)</li>
<li>0x0D260007 (移动版，4 端口，99 MB)</li>
<li>0x0D220003 (桌面版，3 端口，52 MB)</li>
<li>0x0A2E000A (桌面版，3 端口，52 MB)</li>
<li>0x0A26000A (桌面版，3 端口，52 MB)</li>
<li>0x0A2E000D (桌面版，2 端口，131 MB)</li>
<li>0x0A26000D (桌面版，2 端口，131 MB)</li>
<li>0x04120004 (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x0412000B (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x0D260009 (移动版，1 端口，99 MB)</li>
<li>0x0D26000E (移动版，4 端口，131 MB)</li>
<li>0x0D26000F (移动版，1 端口，131 MB)</li>
</ul>
<p>译者注：此处内容（“Haswell 平台详细信息”）可能不必翻译至中文。</p>
<details>
<summary>Haswell 平台详细信息（点击此处以展开）</summary>
AppleIntelFramebufferAzul.kext  

<p>ID: 0x0C060000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x0C160000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x0C260000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x04060000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x04160000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x04260000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x0D260000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x0A160000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 2777 Hz, FreqMax: 2777 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x0A260000, STOLEN: 64 MB, FBMEM: 16 MB, VRAM: 1024 MB, Flags: 0x00000004<br>TOTAL STOLEN: 209 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 209 MB, MAX OVERALL: 210 MB (220737536 bytes)<br>Camelia: CameliaDisabled (0), Freq: 2777 Hz, FreqMax: 2777 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x0A260005, STOLEN: 32 MB, FBMEM: 19 MB, VRAM: 1536 MB, Flags: 0x0000000F<br>TOTAL STOLEN: 52 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 116 MB, MAX OVERALL: 117 MB (123219968 bytes)<br>Camelia: CameliaDisabled (0), Freq: 2777 Hz, FreqMax: 2777 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>[2] busId: 0x04, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>00000800 02000000 30000000<br>01050900 00040000 87000000<br>02040900 00040000 87000000  </p>
<p>ID: 0x0A260006, STOLEN: 32 MB, FBMEM: 19 MB, VRAM: 1536 MB, Flags: 0x0000000F<br>TOTAL STOLEN: 52 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 116 MB, MAX OVERALL: 117 MB (123219968 bytes)<br>Camelia: CameliaDisabled (0), Freq: 2777 Hz, FreqMax: 2777 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>[2] busId: 0x04, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>00000800 02000000 30000000<br>01050900 00040000 87000000<br>02040900 00040000 87000000  </p>
<p>ID: 0x0A2E0008, STOLEN: 64 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000021E<br>TOTAL STOLEN: 99 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 227 MB, MAX OVERALL: 228 MB (239611904 bytes)<br>Camelia: CameliaV1 (1), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>00000800 02000000 30000000<br>01050900 00040000 07010000<br>02040A00 00040000 07010000  </p>
<p>ID: 0x0A16000C, STOLEN: 64 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000001E<br>TOTAL STOLEN: 99 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 227 MB, MAX OVERALL: 228 MB (239611904 bytes)<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>00000800 02000000 30000000<br>01050900 00040000 07010000<br>02040A00 00040000 07010000  </p>
<p>ID: 0x0D260007, STOLEN: 64 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000031E<br>TOTAL STOLEN: 99 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 227 MB, MAX OVERALL: 228 MB (239616000 bytes)<br>Camelia: CameliaDisabled (0), Freq: 1953 Hz, FreqMax: 1953 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 4, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 11, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[2] busId: 0x04, pipe: 11, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[3] busId: 0x06, pipe: 3, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050B00 00040000 07010000<br>02040B00 00040000 07010000<br>03060300 00080000 06000000  </p>
<p>ID: 0x0D220003, STOLEN: 32 MB, FBMEM: 19 MB, VRAM: 1536 MB, Flags: 0x00000402<br>TOTAL STOLEN: 52 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 116 MB, MAX OVERALL: 117 MB (123219968 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>[3] busId: 0x06, pipe: 8, type: 0x00000400, flags: 0x00000011 - ConnectorDP<br>01050900 00040000 87000000<br>02040A00 00040000 87000000<br>03060800 00040000 11000000  </p>
<p>ID: 0x0A2E000A, STOLEN: 32 MB, FBMEM: 19 MB, VRAM: 1536 MB, Flags: 0x000000D6<br>TOTAL STOLEN: 52 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 116 MB, MAX OVERALL: 117 MB (123219968 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000011 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>00000800 02000000 11000000<br>01050900 00040000 87000000<br>02040A00 00040000 87000000  </p>
<p>ID: 0x0A26000A, STOLEN: 32 MB, FBMEM: 19 MB, VRAM: 1536 MB, Flags: 0x000000D6<br>TOTAL STOLEN: 52 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 116 MB, MAX OVERALL: 117 MB (123219968 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000011 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000087 - ConnectorDP<br>00000800 02000000 11000000<br>01050900 00040000 87000000<br>02040A00 00040000 87000000  </p>
<p>ID: 0x0A2E000D, STOLEN: 96 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000040E<br>TOTAL STOLEN: 131 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 227 MB, MAX OVERALL: 228 MB (239607808 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 2, FBMemoryCount: 2<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>01050900 00040000 07010000<br>02040A00 00040000 07010000  </p>
<p>ID: 0x0A26000D, STOLEN: 96 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000040E<br>TOTAL STOLEN: 131 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 227 MB, MAX OVERALL: 228 MB (239607808 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 2, FBMemoryCount: 2<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>01050900 00040000 07010000<br>02040A00 00040000 07010000  </p>
<p>ID: 0x04120004, STOLEN: 32 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x0412000B, STOLEN: 32 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00000000<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x0D260009, STOLEN: 64 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000001E<br>TOTAL STOLEN: 99 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 99 MB, MAX OVERALL: 100 MB (105385984 bytes)<br>Camelia: CameliaDisabled (0), Freq: 1953 Hz, FreqMax: 1953 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 1, FBMemoryCount: 1<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>00000800 02000000 30000000  </p>
<p>ID: 0x0D26000E, STOLEN: 96 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000031E<br>TOTAL STOLEN: 131 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 323 MB, MAX OVERALL: 324 MB (340279296 bytes)<br>Camelia: CameliaV2 (2), Freq: 1953 Hz, FreqMax: 1953 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 4, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 11, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[2] busId: 0x04, pipe: 11, type: 0x00000400, flags: 0x00000107 - ConnectorDP<br>[3] busId: 0x06, pipe: 3, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>00000800 02000000 30000000<br>01050B00 00040000 07010000<br>02040B00 00040000 07010000<br>03060300 00080000 06000000  </p>
<p>ID: 0x0D26000F, STOLEN: 96 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x0000001E<br>TOTAL STOLEN: 131 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 131 MB, MAX OVERALL: 132 MB (138940416 bytes)<br>Camelia: CameliaV2 (2), Freq: 1953 Hz, FreqMax: 1953 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 1, FBMemoryCount: 1<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000030 - ConnectorLVDS<br>00000800 02000000 30000000  </p>
</details>

<p>####<br><em>推荐的 FB 设置</em>：0x0D220003（桌面版，缺省值）；0x0A160000（移动版，缺省值）或 0x0A260005（移动版，推荐）或 0x0A260006（移动版，推荐）。</p>
<p>对于 桌面版 HD 4400 以及移动版 HD4200/HD4400/HD4600 ，需设定（仿冒）<code>IGPU</code> 的 <code>device-id</code> 为 <code>12040000</code>。（如下所示）</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/hsw_igpu.png" alt=""> </p>
<h2 id="HD-5300-6300（Broadwell-微架构，下文简称-BDW）"><a href="#HD-5300-6300（Broadwell-微架构，下文简称-BDW）" class="headerlink" title="HD 5300-6300（Broadwell 微架构，下文简称 BDW）"></a>HD 5300-6300（<a href="https://zh.wikipedia.org/zh-cn/Broadwell微架構" target="_blank" rel="noopener">Broadwell</a> 微架构，下文简称 BDW）</h2><p>支持 macOS 10.10.2 或更新版本。</p>
<p>BDW 平台可用的 FB 列表：</p>
<ul>
<li>0x16060000 (桌面版，3 端口，32 MB)</li>
<li>0x160E0000 (桌面版，3 端口，32 MB)</li>
<li>0x16160000 (桌面版，3 端口，32 MB)</li>
<li>0x161e0000 (桌面版，3 端口，32 MB)</li>
<li>0x16260000 (桌面版，3 端口，32 MB)</li>
<li>0x162B0000 (桌面版，3 端口，32 MB)</li>
<li>0x16220000 (桌面版，3 端口，32 MB)</li>
<li>0x160E0001 (移动版，3 端口，60 MB)</li>
<li>0x161E0001 (移动版，3 端口，60 MB)</li>
<li>0x16060002 (移动版，3 端口，56 MB)</li>
<li>0x16160002 (移动版，3 端口，56 MB)</li>
<li>0x16260002 (移动版，3 端口，56 MB)</li>
<li>0x16220002 (移动版，3 端口，56 MB)</li>
<li>0x162B0002 (移动版，3 端口，56 MB)</li>
<li>0x16120003 (移动版，4 端口，56 MB)</li>
<li>0x162B0004 (桌面版，3 端口，56 MB)</li>
<li>0x16260004 (桌面版，3 端口，56 MB)</li>
<li>0x16220007 (桌面版，3 端口，77 MB)</li>
<li>0x16260005 (移动版，3 端口，56 MB)</li>
<li>0x16260006 (移动版，3 端口，56 MB)</li>
<li>0x162B0008 (桌面版，2 端口，69 MB)</li>
<li>0x16260008 (桌面版，2 端口，69 MB)</li>
</ul>
<p>译者注：此处内容（“BDW 平台详细信息”）可能不必翻译至中文。</p>
<details>
<summary>BDW 平台详细信息（点击此处以展开）</summary>
AppleIntelBDWGraphicsFramebuffer.kext  

<p>ID: 0x16060000, STOLEN: 16 MB, FBMEM: 15 MB, VRAM: 1024 MB, Flags: 0x00000B06<br>TOTAL STOLEN: 32 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 64 MB, MAX OVERALL: 65 MB (68694016 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x160E0000, STOLEN: 16 MB, FBMEM: 15 MB, VRAM: 1024 MB, Flags: 0x00000706<br>TOTAL STOLEN: 32 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 64 MB, MAX OVERALL: 65 MB (68694016 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x16160000, STOLEN: 16 MB, FBMEM: 15 MB, VRAM: 1024 MB, Flags: 0x00000B06<br>TOTAL STOLEN: 32 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 64 MB, MAX OVERALL: 65 MB (68694016 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x161E0000, STOLEN: 16 MB, FBMEM: 15 MB, VRAM: 1024 MB, Flags: 0x00000716<br>TOTAL STOLEN: 32 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 64 MB, MAX OVERALL: 65 MB (68694016 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x16260000, STOLEN: 16 MB, FBMEM: 15 MB, VRAM: 1024 MB, Flags: 0x00000B06<br>TOTAL STOLEN: 32 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 64 MB, MAX OVERALL: 65 MB (68694016 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x162B0000, STOLEN: 16 MB, FBMEM: 15 MB, VRAM: 1024 MB, Flags: 0x00000B06<br>TOTAL STOLEN: 32 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 64 MB, MAX OVERALL: 65 MB (68694016 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x16220000, STOLEN: 16 MB, FBMEM: 15 MB, VRAM: 1024 MB, Flags: 0x0000110E<br>TOTAL STOLEN: 32 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 64 MB, MAX OVERALL: 65 MB (68694016 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000004, flags: 0x00000004 - ConnectorDigitalDVI<br>[2] busId: 0x04, pipe: 9, type: 0x00000800, flags: 0x00000082 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050900 04000000 04000000<br>02040900 00080000 82000000  </p>
<p>ID: 0x160E0001, STOLEN: 38 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00000702<br>TOTAL STOLEN: 60 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 136 MB, MAX OVERALL: 137 MB (144191488 bytes)<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00001001 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00003001 - ConnectorDP<br>00000800 02000000 30020000<br>01050900 00040000 01100000<br>02040A00 00040000 01300000  </p>
<p>ID: 0x161E0001, STOLEN: 38 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00000702<br>TOTAL STOLEN: 60 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 136 MB, MAX OVERALL: 137 MB (144191488 bytes)<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00001001 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00003001 - ConnectorDP<br>00000800 02000000 30020000<br>01050900 00040000 01100000<br>02040A00 00040000 01300000  </p>
<p>ID: 0x16060002, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00004B02<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 30020000<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x16160002, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00004B02<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 30020000<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x16260002, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00004B0A<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 30020000<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x16220002, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00004B0A<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 30020000<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x162B0002, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00004B0A<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 30020000<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x16120003, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00001306<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131612672 bytes)<br>Camelia: CameliaV1 (1), Freq: 1953 Hz, FreqMax: 1953 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 4, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 11, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 11, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[3] busId: 0x06, pipe: 3, type: 0x00000800, flags: 0x00000006 - ConnectorHDMI<br>00000800 02000000 30020000<br>01050B00 00040000 07050000<br>02040B00 00040000 07050000<br>03060300 00080000 06000000  </p>
<p>ID: 0x162B0004, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00040B46<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000211 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 11020000<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x16260004, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00040B46<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000211 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 11020000<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x16220007, STOLEN: 38 MB, FBMEM: 38 MB, VRAM: 1536 MB, Flags: 0x000BB306<br>TOTAL STOLEN: 77 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 153 MB, MAX OVERALL: 154 MB (162017280 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[3] busId: 0x06, pipe: 8, type: 0x00000400, flags: 0x00000011 - ConnectorDP<br>01050900 00040000 07050000<br>02040A00 00040000 07050000<br>03060800 00040000 11000000  </p>
<p>ID: 0x16260005, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00000B0B<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaDisabled (0), Freq: 2777 Hz, FreqMax: 2777 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 11, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 11, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 30020000<br>01050B00 00040000 07050000<br>02040B00 00040000 07050000  </p>
<p>ID: 0x16260006, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00000B0B<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Camelia: CameliaDisabled (0), Freq: 2777 Hz, FreqMax: 2777 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000230 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 11, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 11, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>00000800 02000000 30020000<br>01050B00 00040000 07050000<br>02040B00 00040000 07050000  </p>
<p>ID: 0x162B0008, STOLEN: 34 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x00002B0E<br>TOTAL STOLEN: 69 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 103 MB, MAX OVERALL: 104 MB (109060096 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 2, PortCount: 2, FBMemoryCount: 2<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
<p>ID: 0x16260008, STOLEN: 34 MB, FBMEM: 34 MB, VRAM: 1536 MB, Flags: 0x00002B0E<br>TOTAL STOLEN: 69 MB, TOTAL CURSOR: 1 MB, MAX STOLEN: 103 MB, MAX OVERALL: 104 MB (109060096 bytes)<br>Camelia: CameliaDisabled (0), Freq: 5273 Hz, FreqMax: 5273 Hz<br>Mobile: 0, PipeCount: 2, PortCount: 2, FBMemoryCount: 2<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000507 - ConnectorDP<br>01050900 00040000 07050000<br>02040A00 00040000 07050000  </p>
</details>

<p>####<br><em>推荐的 FB 设置</em>：0x16220007（桌面版，缺省值）；0x16260006（移动版，缺省值）。</p>
<h2 id="HD-510-580（Skylake-微架构，下文简称-SKL）"><a href="#HD-510-580（Skylake-微架构，下文简称-SKL）" class="headerlink" title="HD 510-580（Skylake 微架构，下文简称 SKL）"></a>HD 510-580（<a href="https://zh.wikipedia.org/zh-cn/Skylake微架構" target="_blank" rel="noopener">Skylake</a> 微架构，下文简称 SKL）</h2><p>支持 macOS 10.11.4 或更新版本。</p>
<p>SKL 平台可用的 FB 列表：</p>
<ul>
<li>0x191E0000 (移动版，3 端口，56 MB)</li>
<li>0x19160000 (移动版，3 端口，56 MB)</li>
<li>0x19260000 (移动版，3 端口，56 MB)</li>
<li>0x19270000 (移动版，3 端口，56 MB)</li>
<li>0x191B0000 (移动版，3 端口，56 MB)</li>
<li>0x193B0000 (移动版，3 端口，56 MB)</li>
<li>0x19120000 (移动版，3 端口，56 MB)</li>
<li>0x19020001 (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x19170001 (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x19120001 (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x19320001 (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x19160002 (移动版，无端口，无 FBMEM，58 MB)</li>
<li>0x19260002 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x191E0003 (移动版，3 端口，无 FBMEM，41 MB)</li>
<li>0x19260004 (移动版，3 端口，无 FBMEM，35 MB)</li>
<li>0x19270004 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x193B0005 (移动版，4 端口，无 FBMEM，35 MB)</li>
<li>0x191B0006 (移动版，1 端口，无 FBMEM，39 MB)</li>
<li>0x19260007 (移动版，3 端口，无 FBMEM，35 MB)</li>
</ul>
<p>译者注：此处内容（“SKL 平台详细信息”）可能不必翻译至中文。</p>
<details>
<summary>SKL 平台详细信息（点击此处以展开）</summary>
AppleIntelSKLGraphicsFramebuffer.kext  

<p>ID: 0x191E0000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000050F<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Model name: Intel HD Graphics SKL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x19160000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000090F<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Model name: Intel HD Graphics SKL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x19260000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000090F<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Model name: Intel HD Graphics SKL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x19270000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000090F<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Model name: Intel HD Graphics SKL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x191B0000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000110F<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Model name: Intel HD Graphics SKL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x193B0000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00001187<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Model name: Intel HD Graphics SKL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[2] busId: 0x04, pipe: 10, type: 0x00000800, flags: 0x00000187 - ConnectorHDMI<br>[3] busId: 0x06, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>02040A00 00080000 87010000<br>03060A00 00040000 87010000  </p>
<p>ID: 0x19120000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000110F<br>TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)<br>Model name: Intel HD Graphics SKL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[255] busId: 0x00, pipe: 0, type: 0x00000001, flags: 0x00000020 - ConnectorDummy<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>FF000000 01,000,000 20,000,000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x19020001, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00040800<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics SKL<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x19170001, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00040800<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics SKL<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x19120001, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00040800<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics SKL<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x19320001, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00040800<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics SKL<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x19160002, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00830B02<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Graphics 540<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000  </p>
<p>ID: 0x19260002, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Graphics 540<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000  </p>
<p>ID: 0x191E0003, STOLEN: 40 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x002B0702<br>TOTAL STOLEN: 41 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 121 MB, MAX OVERALL: 122 MB (128462848 bytes)<br>Model name: Intel HD Graphics 515<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000181 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000181 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 81010000<br>02040A00 00040000 81010000  </p>
<p>ID: 0x19260004, STOLEN: 34 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00030B0A<br>TOTAL STOLEN: 35 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 103 MB, MAX OVERALL: 104 MB (109588480 bytes)<br>Model name: Intel Iris Graphics 550<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7010000<br>02040A00 00040000 C7010000  </p>
<p>ID: 0x19270004, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Graphics 550<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000  </p>
<p>ID: 0x193B0005, STOLEN: 34 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0023130A<br>TOTAL STOLEN: 35 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 137 MB, MAX OVERALL: 138 MB (145244160 bytes)<br>Model name: Intel Iris Pro Graphics 580<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 4, FBMemoryCount: 4<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>[3] busId: 0x06, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 C7010000<br>02040A00 00040000 C7010000<br>03060A00 00040000 C7010000  </p>
<p>ID: 0x191B0006, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00131302<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 512 KB, MAX STOLEN: 39 MB, MAX OVERALL: 39 MB (41422848 bytes)<br>Model name: Intel HD Graphics 530<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 1, PortCount: 1, FBMemoryCount: 1<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>00000800 02000000 98040000  </p>
<p>ID: 0x19260007, STOLEN: 34 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00031302<br>TOTAL STOLEN: 35 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 103 MB, MAX OVERALL: 104 MB (109588480 bytes)<br>Model name: Intel Iris Pro Graphics 580<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 C7010000<br>02040A00 00040000 C7010000  </p>
<p>注意：在不指定 <code>AAPL,ig-platform-id</code> 时，默认使用 <code>0x19120000</code>。</p>
</details>

<p>####<br><em>推荐的 FB 设置</em>：0x19120000（桌面版，缺省值）；0x19160000（移动版，缺省值）。</p>
<h2 id="HD-610-650（Kaby-Lake-微架构，下文简称-KBL）"><a href="#HD-610-650（Kaby-Lake-微架构，下文简称-KBL）" class="headerlink" title="HD 610-650（Kaby Lake 微架构，下文简称 KBL）"></a>HD 610-650（<a href="https://zh.wikipedia.org/zh-cn/Kaby_Lake微架構" target="_blank" rel="noopener">Kaby Lake</a> 微架构，下文简称 KBL）</h2><p>支持 macOS 10.12.6 或更新版本。</p>
<p>KBL 平台可用的 FB 列表：</p>
<ul>
<li>0x591E0000 (移动版，3 端口，无FBMEM，35 MB)</li>
<li>0x59160000 (移动版，3 端口，无FBMEM，35 MB)</li>
<li>0x59230000 (桌面版，3 端口，无FBMEM，39 MB)</li>
<li>0x59260000 (桌面版，3 端口，无FBMEM，39 MB)</li>
<li>0x59270000 (桌面版，3 端口，无FBMEM，39 MB)</li>
<li>0x59270009 (移动版，3 端口，无FBMEM，39 MB)</li>
<li>0x59120000 (桌面版，3 端口，无FBMEM，39 MB)</li>
<li>0x591B0000 (移动版，3 端口，39 MB)</li>
<li>0x591E0001 (移动版，3 端口，无FBMEM，39 MB)</li>
<li>0x59180002 (移动版，无端口，无FBMEM，1 MB)</li>
<li>0x59120003 (移动版，无端口，无FBMEM，1 MB)</li>
<li>0x59260007 (桌面版，3 端口，79 MB)</li>
<li>0x59270004 (移动版，3 端口，无FBMEM，58 MB)</li>
<li>0x59260002 (移动版，3 端口，无FBMEM，58 MB)</li>
<li>0x591B0006 (移动版，1 端口，无FBMEM，39 MB)</li>
</ul>
<p>译者注：此处内容（“KBL 平台详细信息”）可能不必翻译至中文。</p>
<details>
<summary>KBL 平台详细信息（点击此处以展开）</summary>
AppleIntelKBLGraphicsFramebuffer.kext  

<p>ID: 0x591E0000, STOLEN: 34 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0000078B<br>TOTAL STOLEN: 35 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 103 MB, MAX OVERALL: 104 MB (109588480 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x59160000, STOLEN: 34 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00000B0B<br>TOTAL STOLEN: 35 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 103 MB, MAX OVERALL: 104 MB (109588480 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000800, flags: 0x00000187 - ConnectorHDMI<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00080000 87010000  </p>
<p>ID: 0x59230000, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00030B8B<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 115 MB, MAX OVERALL: 116 MB (122171392 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x59260000, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00030B8B<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 115 MB, MAX OVERALL: 116 MB (122171392 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x59270000, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00030B8B<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 115 MB, MAX OVERALL: 116 MB (122171392 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x59270009, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00830B0A<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 115 MB, MAX OVERALL: 116 MB (122171392 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 C7010000<br>02040A00 00040000 C7010000  </p>
<p>ID: 0x59120000, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0000110B<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 115 MB, MAX OVERALL: 116 MB (122171392 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[3] busId: 0x06, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>01050900 00040000 87010000<br>02040A00 00040000 87010000<br>03060A00 00040000 87010000  </p>
<p>ID: 0x591B0000, STOLEN: 38 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000130B<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 136 MB, MAX OVERALL: 137 MB (144191488 bytes)<br>Model name: Intel HD Graphics KBL CRB<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[2] busId: 0x04, pipe: 10, type: 0x00000800, flags: 0x00000187 - ConnectorHDMI<br>[3] busId: 0x06, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>02040A00 00080000 87010000<br>03060A00 00040000 87010000  </p>
<p>ID: 0x591E0001, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x002B0702<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 115 MB, MAX OVERALL: 116 MB (122171392 bytes)<br>Model name: Intel HD Graphics 615<br>Camelia: CameliaV2 (2), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000181 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000181 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 81010000<br>02040A00 00040000 81010000  </p>
<p>ID: 0x59180002, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics KBL<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x59120003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics KBL<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x59260007, STOLEN: 57 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x00830B0E<br>TOTAL STOLEN: 79 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 193 MB, MAX OVERALL: 194 MB (203960320 bytes)<br>Model name: Intel Iris Plus Graphics 640<br>Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000  </p>
<p>ID: 0x59270004, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Plus Graphics 650<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000  </p>
<p>ID: 0x59260002, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Plus Graphics 640<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000  </p>
<p>ID: 0x591B0006, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00031302<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 512 KB, MAX STOLEN: 39 MB, MAX OVERALL: 39 MB (41422848 bytes)<br>Model name: Intel HD Graphics 630<br>Camelia: CameliaV3 (3), Freq: 1388 Hz, FreqMax: 1388 Hz<br>Mobile: 1, PipeCount: 1, PortCount: 1, FBMemoryCount: 1<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>00000800 02000000 98040000  </p>
<p>注意：在不指定 <code>AAPL,ig-platform-id</code> 时，默认使用 <code>0x59160000</code>。</p>
</details>

<p>####<br><em>推荐的 FB 设置</em>：0x59160000（桌面版，缺省值）或 0x59120000（桌面版，推荐）；0x591B0000（移动版，缺省值）。</p>
<p>对于 UHD 620 (<a href="https://en.wikipedia.org/wiki/Kaby_Lake#List_of_8th_generation_Kaby_Lake_R_processors" target="_blank" rel="noopener">Kaby Lake Refresh</a>，译者注：该页面暂无中文版本，上次检查日期：2019/03/25)，需设定（仿冒）<code>IGPU</code> 的 <code>device-id</code> 为 <code>16590000</code>。（如下所示）</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/kbl-r_igpu.png" alt=""></p>
<h2 id="UHD-610-655（Coffee-Lake-微架构，下文简称-CFL）"><a href="#UHD-610-655（Coffee-Lake-微架构，下文简称-CFL）" class="headerlink" title="UHD 610-655（Coffee Lake 微架构，下文简称 CFL）"></a>UHD 610-655（<a href="https://zh.wikipedia.org/zh-cn/Coffee_Lake微架构" target="_blank" rel="noopener">Coffee Lake</a> 微架构，下文简称 CFL）</h2><p>支持 macOS 10.14 或更新版本。</p>
<p>CFL 平台可用的 FB 列表：</p>
<ul>
<li>0x3EA50009 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3E920009 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3E9B0009 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3EA50000 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3E920000 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3E000000 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3E9B0000 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3EA50004 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3EA50005 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3EA60005 (移动版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3E9B0006 (移动版，1 端口，无 FBMEM，39 MB)</li>
<li>0x3E9B0008 (移动版，1 端口，无 FBMEM, 58 MB)</li>
<li>0x3E9B0007 (桌面版，3 端口，无 FBMEM，58 MB)</li>
<li>0x3E920003 (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x3E910003 (桌面版，无端口，无 FBMEM，1 MB)</li>
<li>0x3E980003 (桌面版，无端口，无 FBMEM，1 MB)</li>
</ul>
<p>译者注：此处内容（“CFL 平台详细信息”）可能不必翻译至中文。</p>
<details>
<summary>CFL 平台详细信息（点击此处以展开）</summary>
AppleIntelCFLGraphicsFramebuffer.kext  

<p>ID: 0x3EA50009, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00830B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel HD Graphics CFL CRB<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000001C7 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 C7010000<br>02040A00 00040000 C7010000  </p>
<p>ID: 0x3E920009, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0083130A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel HD Graphics CFL CRB<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[255] busId: 0x00, pipe: 0, type: 0x00000001, flags: 0x00000020 - ConnectorDummy<br>[255] busId: 0x00, pipe: 0, type: 0x00000001, flags: 0x00000020 - ConnectorDummy<br>00000800 02000000 98000000<br>FF000000 01000000 20000000<br>FF000000 01000000 20000000  </p>
<p>ID: 0x3E9B0009, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0083130A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel HD Graphics CFL CRB<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x3EA50000, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00030B0B<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel HD Graphics CFL CRB<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x3E920000, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0000130B<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel HD Graphics CFL CRB<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x3E000000, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0000130B<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel HD Graphics CFL CRB<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x3E9B0000, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x0000130B<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel HD Graphics CFL CRB<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP<br>00000800 02000000 98000000<br>01050900 00040000 87010000<br>02040A00 00040000 87010000  </p>
<p>ID: 0x3EA50004, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Plus Graphics 655<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000  </p>
<p>ID: 0x3EA50005, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Plus Graphics 655<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000</p>
<p>ID: 0x3EA60005, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00E30B0A<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel Iris Plus Graphics 645<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>00000800 02000000 98040000<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000</p>
<p>ID: 0x3E9B0006, STOLEN: 38 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00131302<br>TOTAL STOLEN: 39 MB, TOTAL CURSOR: 512 KB, MAX STOLEN: 39 MB, MAX OVERALL: 39 MB (41422848 bytes)<br>Model name: Intel UHD Graphics 630<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 1, PortCount: 1, FBMemoryCount: 1<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000498 - ConnectorLVDS<br>00000800 02000000 98040000  </p>
<p>ID: 0x3E9B0008, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00031302<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 512 KB, MAX STOLEN: 58 MB, MAX OVERALL: 58 MB (61345792 bytes)<br>Model name: Intel HD Graphics CFL<br>Camelia: CameliaV3 (3), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 1, PipeCount: 1, PortCount: 1, FBMemoryCount: 1<br>[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS<br>00000800 02000000 98000000</p>
<p>ID: 0x3E9B0007, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00801302<br>TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)<br>Model name: Intel UHD Graphics 630<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3<br>[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>[3] busId: 0x06, pipe: 8, type: 0x00000400, flags: 0x000003C7 - ConnectorDP<br>01050900 00040000 C7030000<br>02040A00 00040000 C7030000<br>03060800 00040000 C7030000  </p>
<p>ID: 0x3E920003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics CFL<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0  </p>
<p>ID: 0x3E910003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics CFL<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0</p>
<p>ID: 0x3E980003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000<br>TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB<br>Model name: Intel HD Graphics CFL<br>Camelia: CameliaDisabled (0), Freq: 0 Hz, FreqMax: 0 Hz<br>Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0</p>
<p>注意：在不指定 <code>AAPL,ig-platform-id</code> 时，默认使用 <code>0x3EA50000</code>。</p>
</details>

<p>####<br><em>推荐的 FB 设置</em>：0x3EA50000（桌面版，缺省值）或 0x3E9B0007（桌面版，推荐）；0x3EA50009（移动版，缺省值）。</p>
<p>注意：使用第九代 Coffee Lake R 处理器时，需设定（仿冒）<code>IGPU</code> 的 <code>device-id</code> 为 <code>923E0000</code>。（如下所示）</p>
<p><em>从 macOS Mojave 10.14.4 起，无需再设定此参数！</em></p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/cfl-r_igpu.png" alt="">  </p>
<details>
<summary>更多：CFL 平台在 macOS 10.13 的适配情况（点击此处以展开）</summary>

<p>通常无需在 CFL 平台上安装 macOS 10.13，除非有特殊原因，比如：在 10.13 下使用 Web Driver 以驱动 麦克斯韦 (Maxwell) / 帕斯卡 (Pascal) 架构的 NVIDIA 显卡。</p>
<p>macOS High Sierra 10.13.6 的特别版本 17G2208 包含对 CFL 平台核显的原生支持。(<a href="https://drive.google.com/file/d/1FyPvo81K8qEXhiEuwDX3mAHMg1ZMdiYS/view" target="_blank" rel="noopener">下载地址一</a> <a href="https://mega.nz/#!GNgDTDob!N3jediG_xrzJPRFi9bQ0MtAFCKbOl33QvQp9tRUSwhQ" target="_blank" rel="noopener">下载地址二</a>)</p>
<p>注意：此版本不包含“空 FB”（无可用端口）支持，亦不提供对硬件 ID 为 <code>0x3E91</code> 的设备支持。</p>
<p>如需“空 FB”支持，请使用来自 10.14 的 <code>AppleIntelCFLGraphicsFramebuffer.kext</code>。</p>
<p>对于硬件 ID 为 <code>0x3E91</code> 的设备，请将 ID 设定（仿冒）为 <code>0x3E92</code>。（即设定 <code>device-id</code> 为 <code>923E0000</code>）。</p>
<p>与 17G2208 相同的是，后续的 17G3025 以及更新版本，存在同样的问题。</p>
<p>对于 UHD 630，或许直接将硬件 ID 设定（仿冒）为 HD 630 的 ID 更好一些。（如下所示）</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/kbl.png" alt=""></p>
<p>同时，请明确指定一组适配 <code>HD 630</code> 的 FB！</p>
</details> 

<h2 id="调节笔记本亮度"><a href="#调节笔记本亮度" class="headerlink" title="调节笔记本亮度"></a>调节笔记本亮度</h2><p>使用此 ACPI 表 <a href="https://raw.githubusercontent.com/acidanthera/WhateverGreen/master/Manual/SSDT-PNLF.dsl" target="_blank" rel="noopener">SSDT-PNLF</a></p>
<h2 id="数字音频支持-HDMI-DVI-DP"><a href="#数字音频支持-HDMI-DVI-DP" class="headerlink" title="数字音频支持 (HDMI / DVI / DP)"></a>数字音频支持 (HDMI / DVI / DP)</h2><p>若要启用数字音频，需要设置必要的属性，通常还需要修正端口信息。</p>
<p>音频部分，尤其是 HDMI 的音频部分，通常可共同使用 WEG 与 <a href="https://github.com/acidanthera/AppleALC" target="_blank" rel="noopener">AppleALC.kext</a> 以使其工作。</p>
<p>macOS 10.10.5 或更新版本中，在不使用自定义补丁时，WEG 会自动将 <code>connector-type</code> 中的 DP (00040000) 端口修改为 HDMI (00080000) 端口。</p>
<p>实际端口可以是任意类型 (HDMI / DVI / DP)，不过，数字音频工作时，<code>connector-type</code> 必须是 HDMI。</p>
<h2 id="使用-WEG-自定义-FB-和-端口-补丁"><a href="#使用-WEG-自定义-FB-和-端口-补丁" class="headerlink" title="使用 WEG 自定义 FB 和 端口 补丁"></a>使用 WEG 自定义 FB 和 端口 补丁</h2><p>大多情况下，不需要额外补丁！</p>
<p>macOS 10.14 下，对于 SKL 或更新平台，无法直接从 kext 二进制文件中取得 FB 和 端口信息：所以必须从内存中导出二进制文件，因此无法再使用 Clover 来修改 FB。不过，可以通过 WEG 制作 语义补丁（推荐）或 二进制补丁，其在较早的 macOS 版本和较早的核显设备上亦适用。默认情况下，当前使用的 FB 将会被修改。</p>
<p>补丁需放在 IGPU 的 <code>Properties</code> 部分。</p>
<p>二进制补丁示例：</p>
<p><img src="./Img/bin.png" alt="">  </p>
<p>语义补丁示例一：修改端口索引为 1, 2, 3 的 <code>connector-type</code> 为 HDMI：(connector-type=00080000)</p>
<p><img src="./Img/connector.png" alt="">  </p>
<p>语义补丁示例二：对于 DVMT 为 32 MB 且需要更大值时：(stolenmem=19MB, fbmem=9MB)</p>
<p><img src="./Img/sem.png" alt="">  </p>
<p><a href="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/AzulPatcher4600_equivalent.plist" target="_blank" rel="noopener">此部分补丁</a> 完全等同于使用 AzulPatcher4600.kext，如曾在使用，请改用这些补丁。（在 <a href="https://github.com/coderobe/AzulPatcher4600#tested-onHaswell" target="_blank" rel="noopener">某些</a> Haswell 微架构的笔记本上，使用 <code>0x0A260006</code> 这组 FB 会改善花屏的情况）</p>
<p><strong>WEG 支持的自定义补丁列表</strong><br>语义补丁部分：</p>
<p><em>framebuffer-patch-enable (<strong>启用语义补丁的总开关</strong>)</em></p>
<p><em>framebuffer-framebufferid (<strong>要修改的 FB，一般保持默认即可</strong>)</em></p>
<p><em>framebuffer-mobile<br>framebuffer-pipecount<br>framebuffer-portcount<br>framebuffer-memorycount<br>framebuffer-stolenmem<br>framebuffer-fbmem</em></p>
<p><em>framebuffer-unifiedmem (<strong>VRAM，不推荐使用</strong>)</em></p>
<p><em>framebuffer-cursormem (<strong>Haswell 专用补丁</strong>)</em></p>
<p><em>framebuffer-flags</em></p>
<p><em>framebuffer-camellia (<strong>集成显示控制器，仅与白苹果相关</strong>)</em></p>
<p><em>framebuffer-conX-enable (<strong>启用端口为 X 的修改</strong>)</em><br><em>framebuffer-conX-index<br>framebuffer-conX-busid<br>framebuffer-conX-pipe<br>framebuffer-conX-type<br>framebuffer-conX-flags<br>framebuffer-conX-alldata (<strong>完全替换端口信息</strong>)<br>framebuffer-conX-YYYYYYYY-alldata (<strong>在当前 FB 与 YYYYYY 匹配时完全替换端口信息</strong>)</em></p>
<p><em>X 是端口索引。</em></p>
<p><strong>Alldata 补丁可按序修改多个端口：将所有数据放在一个字符串中，并指定一个起始端口索引即可。字符串长度应为 12 的倍数字节。（单个端口长度）</strong></p>
<p>二进制补丁部分：</p>
<p><em>framebuffer-patchN-enable (<strong>启用第 N 项补丁</strong>)</em></p>
<p><em>framebuffer-patchN-framebufferid (<strong>要修改的 FB，一般保持默认即可</strong>)</em></p>
<p><em>framebuffer-patchN-find</em></p>
<p><em>framebuffer-patchN-replace</em></p>
<p><em>framebuffer-patchN-count (要搜索的补丁号迭代数，默认为 1)</em></p>
<p><em>N 为补丁索引号: 0, 1, 2, … 9</em></p>
<p>可以使用 <a href="http://www.sweetscape.com/010editor" target="_blank" rel="noopener">010 Editor</a> 和 <a href="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/IntelFramebuffer.bt" target="_blank" rel="noopener">IntelFramebuffer.bt</a> 脚本来提取有关 FB 和 端口 的详细信息。</p>
<p>这些信息可帮助制作自定义补丁。</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/ifbt.png" alt=""></p>
<p>macOS 10.14 下，对于 SKL 或更新平台，要取得适合脚本的导出数据，可以使用 <em>WEG</em> 的 Debug 版本并加入 <code>-igfxdump</code> 启动参数。导出的数据将保存在 <code>/var/log</code>目录中。</p>
<p>原始与修补的导出数据可通过使用 <em>WEG</em> 的 Debug 版本、使用 <code>-igfxfbdump</code> 启动参数，并在 IOReg 中的 <code>IOService:/IOResources/WhateverGreen</code> 位置取得。</p>
<h2 id="VGA-输出支持"><a href="#VGA-输出支持" class="headerlink" title="VGA 输出支持"></a>VGA 输出支持</h2><p>大多情况下，在 SKL 或更新平台可直接工作。</p>
<p>对于 Ivy 或其他平台，可使用以下选项来修正端口：</p>
<p>06020000 02000000 30000000 //选项1<br>06020000 01000000 30000000 //选项2 </p>
<p>在 macOS 10.8.2 或更新版本，Ivy 平台无法支持 VGA。</p>
<p>热插拔功能通常无法工作。</p>
<p>也许这些没有帮助，但目前也没有其他已知解决方案。  </p>
<h2 id="EDID"><a href="#EDID" class="headerlink" title="EDID"></a>EDID</h2><p>EDID 通常会被正确识别，因此不需要执行其他操作。但在极少数情况下，需要手动注入 EDID。</p>
<p>EDID 信息可以通过诸如使用 <a href="https://unix.stackexchange.com/questions/114359/how-to-get-edid-for-a-single-monitor" target="_blank" rel="noopener">Linux</a>（译者注：原文发布于英文社区，所以并无中文版本）等方法获得。</p>
<p>正确的 EDID 必须放入 IGPU 的 <em>AAPL0<strong>0</strong>,override-no-connect</em> 字段中，其中第二个 <strong><em>0</em></strong> 代表显示器编号。</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/edid.png" alt=""> </p>
<p>某些时候，导出的 EDID 可能与 macOS 不兼容并导致失真。这时，对于一些 EDID 可以使用 <a href="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/edid-gen.sh" target="_blank" rel="noopener">此脚本</a>，它能修正 EDID 并保存到桌面上。</p>
<h2 id="HDMI-高分屏-60-fps-方案"><a href="#HDMI-高分屏-60-fps-方案" class="headerlink" title="HDMI 高分屏 60 fps 方案"></a>HDMI 高分屏 60 fps 方案</h2><h4 id="除了解决-HDMI-问题，此方案或许对某些型号如-ThinkPad-P71-7700HQ-HD630-4K-卡死在-gIOScreenLockState3-的情况有所帮助。"><a href="#除了解决-HDMI-问题，此方案或许对某些型号如-ThinkPad-P71-7700HQ-HD630-4K-卡死在-gIOScreenLockState3-的情况有所帮助。" class="headerlink" title="除了解决 HDMI 问题，此方案或许对某些型号如 ThinkPad P71/7700HQ/HD630/4K 卡死在 gIOScreenLockState3 的情况有所帮助。"></a>除了解决 HDMI 问题，此方案或许对某些型号如 ThinkPad P71/7700HQ/HD630/4K 卡死在 <code>gIOScreenLockState3</code> 的情况有所帮助。</h4><p>为核显添加 <code>enable-hdmi20</code> 属性，或使用 <code>-cdfon</code> 启动参数代替，<strong>否则将会黑屏</strong>。</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/hdmi20.png" alt=""> </p>
<h2 id="禁用独显"><a href="#禁用独显" class="headerlink" title="禁用独显"></a>禁用独显</h2><p>为核显添加 <code>disable-external-gpu</code> 属性，或使用 <code>-wegnoegpu</code> 启动参数代替。</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/dGPU_off.png" alt="">  </p>
<h2 id="修复笔记本内屏返回错误的最大链路速率值的问题-Dell-XPS-15-9570-等高分屏笔记本"><a href="#修复笔记本内屏返回错误的最大链路速率值的问题-Dell-XPS-15-9570-等高分屏笔记本" class="headerlink" title="修复笔记本内屏返回错误的最大链路速率值的问题 (Dell XPS 15 9570 等高分屏笔记本)"></a>修复笔记本内屏返回错误的最大链路速率值的问题 (Dell XPS 15 9570 等高分屏笔记本)</h2><p>为核显添加 <code>enable-dpcd-max-link-rate-fix</code> 属性或者直接使用 <code>-igfxmlr</code> 启动参数以解决系统在点亮内屏时直接崩溃的问题。<br>从 1.3.7 版本开始，此补丁同时修正从屏幕扩展属性里读取的错误速率值问题以解决在 Dell 灵越 7590 系列等新款笔记本上内核崩溃的问题。<br>从 1.4.4 版本开始，如果用户未定义 <code>dpcd-max-link-rate</code> 属性的话，此补丁将自动从 DPCD 寻找内屏支持的最大链路速率值。此外此补丁已适配 Ice Lake 平台。</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/dpcd_mlr.png" alt=""><br>另外可使用 <code>dpcd-max-link-rate</code> 这个属性来为笔记本内屏指定一个最大链路速率值。<br>4K 内屏一般使用 <code>0x14</code>，1080p 内屏使用 <code>0x0A</code> 即可。<br>可选值为 <code>0x06</code> (RBR)，<code>0x0A</code> (HBR)，<code>0x14</code> (HBR2) 以及 <code>0x1E</code> (HBR3)。<br>若指定了其他值，或者未定义此属性的话，则补丁默认自动寻找内屏所支持的链路最大值。<br>若显卡驱动不支持找到的链路最大值的话，那么之后会触发内核崩溃，因此你需要按照上述方法手动指定一个合法的值。（这个情况理论上应该很少见。）  </p>
<details>
<summary>调试</summary>
当驱动自动寻找最大链路速率值时，你会在内核日志里发现如下的日志。  
在此例中，Dell XPS 15 9570 的 4K 内屏所支持的最大链路速率值为 5.4 Gbps，因此补丁写入对应的 `0x14` 值。

<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line">igfx: @ (DBG) MLR: Found CFL- platforms. Will setup the fix for the CFL- graphics driver.</span><br><span class="line">igfx: @ (DBG) MLR: [CFL-] Functions have been routed successfully.</span><br><span class="line">igfx: @ (DBG) MLR: [CFL-] wrapReadAUX() Called with controller at 0xffffff802ca6e000 and framebuffer at 0xffffff81aa5a3000.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] orgReadAUX() Routed to CFL IMP with Address &#x3D; 0x0; Length &#x3D; 16.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] GetFBIndex() Port at 0x0; Framebuffer at 0xffffff81aa5a3000.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] wrapReadAUX() Will probe the maximum link rate from the table.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] orgReadAUX() Routed to CFL IMP with Address &#x3D; 0x700; Length &#x3D; 1.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Found eDP version 1.4+ (Value &#x3D; 0x4).</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] orgReadAUX() Routed to CFL IMP with Address &#x3D; 0x10; Length &#x3D; 16.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Table[0] &#x3D;  8100; Link Rate &#x3D; 1620000000; Decimal Value &#x3D; 0x06.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Table[1] &#x3D; 10800; Link Rate &#x3D; 2160000000; Decimal Value &#x3D; 0x08.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Table[2] &#x3D; 12150; Link Rate &#x3D; 2430000000; Decimal Value &#x3D; 0x09.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Table[3] &#x3D; 13500; Link Rate &#x3D; 2700000000; Decimal Value &#x3D; 0x0a.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Table[4] &#x3D; 16200; Link Rate &#x3D; 3240000000; Decimal Value &#x3D; 0x0c.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Table[5] &#x3D; 21600; Link Rate &#x3D; 4320000000; Decimal Value &#x3D; 0x10.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() Table[6] &#x3D; 27000; Link Rate &#x3D; 5400000000; Decimal Value &#x3D; 0x14.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] ProbeMaxLinkRate() End of table.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] wrapReadAUX() Maximum link rate 0x14 has been set in the DPCD buffer.</span><br><span class="line">igfx: @ (DBG) MLR: [CFL-] wrapReadAUX() Called with controller at 0xffffff802ca6e000 and framebuffer at 0xffffff81aa5a3000.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] orgReadAUX() Routed to CFL IMP with Address &#x3D; 0x2200; Length &#x3D; 16.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] GetFBIndex() Port at 0x0; Framebuffer at 0xffffff81aa5a3000.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] wrapReadAUX() Will use the maximum link rate specified by user or cached by the previous probe call.</span><br><span class="line">igfx: @ (DBG) MLR: [COMM] wrapReadAUX() Maximum link rate 0x14 has been set in the DPCD buffer.</span><br></pre></td></tr></table></figure>
</details>


<h2 id="修复核显驱动在尝试点亮外接-HDMI-高分辨率显示器时造成的死循环问题"><a href="#修复核显驱动在尝试点亮外接-HDMI-高分辨率显示器时造成的死循环问题" class="headerlink" title="修复核显驱动在尝试点亮外接 HDMI 高分辨率显示器时造成的死循环问题"></a>修复核显驱动在尝试点亮外接 HDMI 高分辨率显示器时造成的死循环问题</h2><p><strong>适用平台：</strong> 第六代酷睿 Skylake 核显，第七代酷睿 Kaby Lake 核显以及第八代酷睿 Coffee Lake。<br>为核显添加 <code>enable-hdmi-dividers-fix</code> 属性或者直接使用 <code>-igfxhdmidivs</code> 启动参数以解决核显驱动在试图点亮外接 HDMI 高分辨率显示器时造成的系统死机问题。<br>具体症状表现为插入 HDMI 线后，笔记本内屏变黑但有背光，系统无响应，并且外屏也无输出。</p>
<h4 id="关于使用此修复补丁的一些建议"><a href="#关于使用此修复补丁的一些建议" class="headerlink" title="关于使用此修复补丁的一些建议"></a>关于使用此修复补丁的一些建议</h4><ul>
<li>如果你的笔记本或台式机主板有 HDMI 1.4 接口，并且想使用 2K 或 4K HDMI 显示器的话，你可能需要这个补丁。</li>
<li>如果你的笔记本或台式机主板有 HDMI 2.0 接口，并且当前 HDMI 输出有问题，那么建议你启用 LSPCON 驱动支持以获得更好的 HDMI 2.0 体验。（详情请阅读下方 LSPCON 章节）</li>
</ul>
<h2 id="启用-LSPCON-驱动以支持核显-DisplayPort-转-HDMI-2-0-输出"><a href="#启用-LSPCON-驱动以支持核显-DisplayPort-转-HDMI-2-0-输出" class="headerlink" title="启用 LSPCON 驱动以支持核显 DisplayPort 转 HDMI 2.0 输出"></a>启用 LSPCON 驱动以支持核显 DisplayPort 转 HDMI 2.0 输出</h2><h4 id="简述"><a href="#简述" class="headerlink" title="简述"></a>简述</h4><p>近几年的笔记本都开始配备了 HDMI 2.0 输出端口。这个端口可能直接连到核显上也有可能连在独显上。<br>如果连在了独显上，那么在 macOS 下这个 HDMI 2.0 端口直接废掉了，因为苹果不支持 Optimus 等双显卡切换技术。<br>如果连在了核显上，那么笔记本厂商需要在主板上安装额外的信号转换器来把 DP 信号转换成 HDMI 2.0 信号，<br>这是因为现阶段英特尔的核显并不能原生提供 HDMI 2.0 信号输出。（类似主板厂商使用第三方芯片以提供 USB 3.0 功能）<br>这个信号转换器名为 LSPCON，全称 <strong>L</strong>evel <strong>S</strong>hifter and <strong>P</strong>rotocol <strong>Con</strong>verter，并且有两种工作模式。<br>当工作在 LS 模式下，它可以把 DP 转换成 HDMI 1.4 信号。在 PCON 模式下，它可以把 DP 转换成 HDMI 2.0 信号。<br>然而有些厂商在转换器的固件里把 LS 设为了默认的工作模式，这就导致在 macOS 下 HDMI 2.0 连接直接黑屏或者根本不工作。<br>从 1.3.0 版本开始，WhateverGreen 提供了对 LSPCON 的驱动支持。驱动会自动将转换器调为 PCON 模式以解决 HDMI 2.0 输出黑屏问题。  </p>
<h4 id="使用前必读"><a href="#使用前必读" class="headerlink" title="使用前必读"></a>使用前必读</h4><ul>
<li>LSPCON 驱动适用于所有配备 HDMI 2.0 接口并接在核显上的笔记本和台式机。</li>
<li>目前来看，英特尔的新处理器所配备的核显仍然不支持原生 HDMI 2.0 输出，所以在新平台上你可能仍然需要此驱动。</li>
<li>适用的英特尔平台: Skylake, Kaby Lake, Coffee Lake 以及以后。  <pre><code>Skylake 平台案例: 英特尔在 Skull Canyon NUC 上搭载了 HDMI 2.0 接口，使用了型号为 Parade PS175 的 LSPCON 信号转换器。  </code></pre>Coffee Lake 平台案例: 部分笔记本如 Dell XPS 15 搭载了 HDMI 2.0 接口，同样使用了型号为 Parade PS175 的 LSPCON 信号转换器。  </li>
<li>如果你已确认你的 HDMI 2.0 接口是连在核显上并且目前输出没有任何问题，那么你不需要特意启用此驱动。你的转换器可能已经出厂时就把 PCON 设为了默认的工作模式。</li>
</ul>
<h4 id="如何使用"><a href="#如何使用" class="headerlink" title="如何使用"></a>如何使用</h4><ul>
<li>为核显添加 <code>enable-lspcon-support</code> 属性或者直接使用 <code>-igfxlspcon</code> 启动参数来启用驱动。</li>
<li>接下来你需要知道 HDMI 2.0 对应的端口号是多少。这个你可以直接在 IORegistryExplorer 里看到。也就是在 <code>AppleIntelFramebuffer@0/1/2/3</code> 下面找到你的外接显示器。  </li>
</ul>
<p><em>如果你身边只有 2K/4K HDMI 显示器的话，你可能需要先启用上面的死循环修复补丁，否则当你连接显示器时系统直接死机，所以就看不到对应的端口号了。</em>  </p>
<ul>
<li>为核显添加 <code>framebuffer-conX-has-lspcon</code> 属性来通知驱动哪个接口下面有 LSPCON 信号转换器。<br>把 <code>conX</code> 里的 X 替换成你在上一步找到的端口值。<br>这个属性的对应值请设为 <code>Data</code> 类型。如果接口下存在转换器的话，请设为 <code>01000000</code>，反之设为 <code>00000000</code>。<br>若不定义这个属性的话，驱动默认认为对应接口下<strong>不存在</strong>转换器。</li>
<li><em>(可选)</em> 为核显添加 <code>framebuffer-conX-preferred-lspcon-mode</code> 属性以指定 LSPCON 应该工作在何种模式下。<br>这个属性的对应值请设为 <code>Data</code> 类型。<br>如果希望转换器工作在 PCON (DP 转 HDMI 2.0) 模式下的话，请设为 <code>01000000</code>。<br>如果希望转换器工作在 &nbsp;&nbsp;LS (DP 转 HDMI 1.4) 模式下的话，请设为 <code>00000000</code>。<br>若指定其他值的话，驱动默认认为转换器应工作在 PCON 模式下。<br>若不定义此属性的话，同上。<br><img src="Img/lspcon.png" alt=""></li>
</ul>
<h4 id="排查错误"><a href="#排查错误" class="headerlink" title="排查错误"></a>排查错误</h4><p>完成上述步骤后，重建缓存重启电脑，插上 HDMI 2.0 线和 HDMI 2.0 显示器应该可以正常看到输出的图像了。<br>如果提取内核日志的话，你应该可以看到类似如下的日志。  </p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><span class="line">&#x2F;&#x2F; 插入 HDMI 2.0 线</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a868c000.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] No LSPCON chip associated with this framebuffer.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Will call the original method.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Returns 0x0.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a869a000.</span><br><span class="line">igfx @ (DBG) SC:   LSPCON::probe() DInfo: [FB2] Found the LSPCON adapter: Parade PS1750.</span><br><span class="line">igfx @ (DBG) SC:   LSPCON::probe() DInfo: [FB2] The current adapter mode is Level Shifter (DP++ to HDMI 1.4).</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] LSPCON driver has detected the onboard chip successfully.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] LSPCON driver has been initialized successfully.</span><br><span class="line">igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x00.</span><br><span class="line">igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x00.</span><br><span class="line">igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x00.</span><br><span class="line">igfx @ (DBG) SC: LSPCON::getMode() DInfo: [FB2] The current mode value is 0x01.</span><br><span class="line">igfx @ (DBG) SC: LSPCON::setMode() DInfo: [FB2] The new mode is now effective.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] The adapter is running in preferred mode [Protocol Converter (DP++ to HDMI 2.0)].</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Will call the original method.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Returns 0x0.</span><br><span class="line"></span><br><span class="line">&#x2F;&#x2F; 拔出 HDMI 2.0 线</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a868c000.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] No LSPCON chip associated with this framebuffer.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Will call the original method.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB0] Returns 0x0.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] called with controller at 0xffffff81a8680000 and framebuffer at 0xffffff81a869a000.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] LSPCON driver (at 0xffffff802ba3afe0) has already been initialized for this framebuffer.</span><br><span class="line">igfx @ (DBG) SC: LSPCON::setModeIfNecessary() DInfo: [FB2] The adapter is already running in Protocol Converter (DP++ to HDMI 2.0) mode. No need to update.</span><br><span class="line">igfx @ (DBG) SC: LSPCON::wakeUpNativeAUX() DInfo: [FB2] The native AUX channel is up. DPCD Rev &#x3D; 0x12.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Will call the original method.</span><br><span class="line">igfx @ (DBG) SC:     GetDPCDInfo() DInfo: [FB2] Returns 0x0.</span><br></pre></td></tr></table></figure>

<p>另外你也能在 IORegistryExplorer 下找到驱动在对应的 Framebuffer 下注入的属性。<strong>（此功能仅限 DEBUG 版驱动）</strong>  </p>
<p><code>fw-framebuffer-has-lspcon</code> 显示当前端口是否存在 LSPCON 信号转换器，为布尔值类型。<br><code>fw-framebuffer-preferred-lspcon-mode</code> 显示当前指定的 LSPCON 工作模式，为数据类型。1 为 PCON 模式，0 为 LS 模式。  </p>
<p><img src="Img/lspcon_debug.png" alt=""></p>
<h2 id="修复-Ice-Lake-平台上因-Core-Display-Clock-CDCLK-频率过低而导致的内核崩溃问题"><a href="#修复-Ice-Lake-平台上因-Core-Display-Clock-CDCLK-频率过低而导致的内核崩溃问题" class="headerlink" title="修复 Ice Lake 平台上因 Core Display Clock (CDCLK) 频率过低而导致的内核崩溃问题"></a>修复 Ice Lake 平台上因 Core Display Clock (CDCLK) 频率过低而导致的内核崩溃问题</h2><p>为核显添加 <code>enable-cdclk-frequency-fix</code> 属性或者直接使用 <code>-igfxcdc</code> 启动参数以解决 Core Display Clock (CDCLK) 频率过低而导致的内核崩溃问题。  </p>
<p>核显的显示引擎是由这个 Core Display Clock 时钟来驱动的。苹果的显卡驱动假定 BIOS 或者固件已设定好时钟频率为 652.8 MHz 或者 648 MHz，而有些 Ice Lake 笔记本在开机时 BIOS 自动设定频率为最低的 172.8 MHz，所以会触发频率检查的函数而导致内核崩溃。内核崩溃后，你能看到类似 “Unsupported CD clock decimal frequency 0x158” 这样的错误信息。  </p>
<p>这个补丁通过重新设定 Core Display Clock 的频率来通过上述检查以避免内核崩溃。补丁生效后，时钟速率会被设为一个苹果支持的值，具体是哪个值取决于你的硬件。补丁会基于你当前硬件的配置选择一个最佳的频率。  </p>
<details>
<summary>调试</summary>
补丁生效后，你会在内核日志中发现类似下面的字眼。在调整前，时钟速率为 172.8 MHz，而在调整后速率变为 652.8 MHz。

<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">igfx: @ (DBG) CDC: Functions have been routed successfully.</span><br><span class="line">igfx: @ (DBG) CDC: ProbeCDClockFrequency() DInfo: Called with controller at 0xffffff8035933000.</span><br><span class="line">igfx: @ (DBG) CDC: ProbeCDClockFrequency() DInfo: The currrent core display clock frequency is 172.8 MHz.</span><br><span class="line">igfx: @ (DBG) CDC: ProbeCDClockFrequency() DInfo: The currrent core display clock frequency is not supported.</span><br><span class="line">igfx: @ (DBG) CDC: sanitizeCDClockFrequency() DInfo: Reference frequency is 38.4 MHz.</span><br><span class="line">igfx: @ (DBG) CDC: sanitizeCDClockFrequency() DInfo: Core Display Clock frequency will be set to 652.8 MHz.</span><br><span class="line">igfx: @ (DBG) CDC: sanitizeCDClockFrequency() DInfo: Core Display Clock PLL frequency will be set to 1305600000 Hz.</span><br><span class="line">igfx: @ (DBG) CDC: sanitizeCDClockFrequency() DInfo: Core Display Clock PLL has been disabled.</span><br><span class="line">igfx: @ (DBG) CDC: sanitizeCDClockFrequency() DInfo: Core Display Clock has been reprogrammed and PLL has been re-enabled.</span><br><span class="line">igfx: @ (DBG) CDC: sanitizeCDClockFrequency() DInfo: Core Display Clock frequency is 652.8 MHz now.</span><br><span class="line">igfx: @ (DBG) CDC: ProbeCDClockFrequency() DInfo: The core display clock has been switched to a supported frequency.</span><br><span class="line">igfx: @ (DBG) CDC: ProbeCDClockFrequency() DInfo: Will invoke the original function.</span><br><span class="line">igfx: @ (DBG) CDC: ProbeCDClockFrequency() DInfo: The original function returns 0x4dd1e000.</span><br></pre></td></tr></table></figure>
</details>

<h2 id="修复-Ice-Lake-平台上因驱动错误地计算-DVMT-预分配内存大小而导致的内核崩溃问题"><a href="#修复-Ice-Lake-平台上因驱动错误地计算-DVMT-预分配内存大小而导致的内核崩溃问题" class="headerlink" title="修复 Ice Lake 平台上因驱动错误地计算 DVMT 预分配内存大小而导致的内核崩溃问题"></a>修复 Ice Lake 平台上因驱动错误地计算 DVMT 预分配内存大小而导致的内核崩溃问题</h2><p>为核显添加 <code>enable-dvmt-calc-fix</code> 属性或者直接使用 <code>-igfxdvmt</code> 启动参数以修复因核显驱动错误地计算当前 DVMT 预分配内存的实际大小而导致后期加速器驱动提示 <code>Unsupported ICL SKU</code> 错误并崩溃的问题。</p>
<p>苹果的核显驱动在读取 BIOS 或者 UEFI 固件设定的 DVMT 预分配内存值后，用了一个公式来计算以字节为单位的实际可用内存大小。然而，这个公式只有在预分配内存值为 32MB 的整数倍时才会计算出正确的结果。Ice Lake 平台的笔记本出厂时 DVMT 一般设为了 60MB，所以核显驱动无法正确地初始化内存管理器。即使部分用户可以通过 <code>EFI Shell</code> 或者 <code>RU.EFI</code> 等特殊手段来修改 BIOS 中设定的 DVMT 预分配内存值，但有些使用特定固件的笔记本比如 Surface Pro 7 以及因厂商安全策略而无法修改 BIOS 设置的笔记本是无法修改 DVMT 设置的。本补丁通过预先计算当前平台的可用 DVMT 预分配内存后，将正确的数值传递给核显驱动。这样驱动可以正常初始化内存管理器，后期的因 DVMT 内存导致的崩溃问题迎刃而解。</p>
<p>苹果在 Ice Lake 的核显驱动中移出了 DVMT Stolen Memory 断言相关的崩溃语句，只会在内核日志中打印出 <code>Insufficient Stolen Memory</code>。<br>请注意，虽然本补丁可让核显的内存管理器正确地初始化，我们仍然建议你给 Framebuffer 打上必要的补丁以规避上述预分配内存不足的问题。  </p>
<p>此外，你可以使用 IORegistryExplorer 在 <code>IGPU</code> 下找到 <code>fw-dvmt-preallocated-memory</code> 属性来查看当前 BIOS 中设定的 DVMT 预分配内存大小。（仅限 <code>DEBUG</code> 版本）<br>比如下图中的数值为 <code>0x3C</code>，对应的十进制为 <code>60</code>，即当前 DVMT 预分配内存为 60MB。</p>
<p><img src="./Img/dvmt.png" alt=""></p>
<details>
<summary>调试</summary>
补丁生效后，你会在内核日志中发现类似下面的字眼。

<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">igfx: @ (DBG) DVMT: Found the shll instruction. Length &#x3D; 3; DSTReg &#x3D; 0.</span><br><span class="line">igfx: @ (DBG) DVMT: Found the andl instruction. Length &#x3D; 5; DSTReg &#x3D; 0.</span><br><span class="line">igfx: @ (DBG) DVMT: Calculation patch has been applied successfully.</span><br></pre></td></tr></table></figure>
</details>

<h2 id="调整亮度丝滑器设置以提升用户体验"><a href="#调整亮度丝滑器设置以提升用户体验" class="headerlink" title="调整亮度丝滑器设置以提升用户体验"></a>调整亮度丝滑器设置以提升用户体验</h2><p>为核显添加 <code>enable-backlight-smoother</code> 属性或者直接使用 <code>-igfxbls</code> 启动参数以使核显亮度调节变得更丝滑。</p>
<p>核显驱动通过修改亮度相关的寄存器的值来调整笔记本内屏的亮度。亮度丝滑器通过拦截这些写入操作并循循渐进地修改寄存器的值来实现亮度调节更丝滑的效果。<br>打个比方的话，核显驱动的工作方式犹如走楼梯让屏幕一下子变亮或变暗，而亮度丝滑器好比坐扶梯来让屏幕慢慢地变亮或变暗。<br>亮度丝滑器首先读取当前亮度档位对应的寄存器值 <code>SRC</code> 并计算到目标值 <code>DST</code> 的距离 <code>D</code>。 而后每 <code>T</code> 毫秒向目标值走一步，并在 <code>N</code> 步之内走完。<br>默认情况下，<code>N</code> 为 35 且 <code>T</code> 为 7，但可通过设备属性 <code>backlight-smoother-steps</code> 以及 <code>backlight-smoother-interval</code> 来修改它们的值。<br>然而我们建议 <code>T</code> 的值不要高于 10 毫秒，并且达到目标值所需要的时间 <code>N * T</code> 不要高于 350 毫秒以避免调节亮度时产生阶梯式卡顿现象。<br>此外，用户可通过 <code>backlight-smoother-threshold</code> 属性来指定一个最小的距离 <code>DM</code>，以让驱动检测到 <code>D</code> 小于 <code>DM</code> 时跳过丝滑器直接向寄存器写入目标值。<br>默认情况下，<code>DM</code> 为 0。</p>
<p>如果不希望笔记本内屏在亮度最低时黑屏，用户可通过 <code>backlight-smoother-lowerbound</code> 属性来自定义最低亮度档位对应的寄存器值。<br>同理，<code>backlight-smoother-upperbound</code> 属性控制最高亮度档位对应的寄存器值。请参考下面的例子来找到适合你笔记本的值。<br>若用户未注入这两个属性的话，BLS 使用默认的区间 [0, 2^32-1]。</p>
<details>
<summary>样例: 为一台 Haswell 笔记本定制亮度丝滑器</summary>

<p>如下的内核日志是从一台 Haswell 笔记本上提取的，显卡型号为 Intel HD Graphics 4600。<br>日志反映了用户通过亮度快捷键从最低档位调到最高档位时寄存器值的变化。<br>因为每个亮度档位之间对应的寄存器值的距离较短, 我们采用 <code>N = 25</code> 以及 <code>T = 8</code> 来让内屏在 200 毫秒左右达到下一个档位。  </p>
<table>
<thead>
<tr>
<th align="center">设备属性名称</th>
<th align="center">类型</th>
<th align="center">值</th>
<th align="center">备注</th>
</tr>
</thead>
<tbody><tr>
<td align="center">enable-backlight-smoother</td>
<td align="center">Data</td>
<td align="center">01000000</td>
<td align="center">启用亮度丝滑器</td>
</tr>
<tr>
<td align="center">backlight-smoother-steps</td>
<td align="center">Data</td>
<td align="center">19000000</td>
<td align="center">25 (0x19 使用小字节序编码)</td>
</tr>
<tr>
<td align="center">backlight-smoother-interval</td>
<td align="center">Data</td>
<td align="center">08000000</td>
<td align="center">08 (0x08 使用小字节序编码)</td>
</tr>
<tr>
<td align="center">backlight-smoother-threshold</td>
<td align="center">Data</td>
<td align="center">00000000</td>
<td align="center">00 (0x00 使用小字节序编码)</td>
</tr>
</tbody></table>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000000; Target &#x3D; 0x00000036; Distance &#x3D; 0054; Steps &#x3D; 25; Stride &#x3D; 3.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000036; Target &#x3D; 0x00000036; Distance &#x3D; 0000; Steps &#x3D; 25; Stride &#x3D; 0.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000036; Target &#x3D; 0x00000054; Distance &#x3D; 0030; Steps &#x3D; 25; Stride &#x3D; 2.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000054; Target &#x3D; 0x0000007d; Distance &#x3D; 0041; Steps &#x3D; 25; Stride &#x3D; 2.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x0000007d; Target &#x3D; 0x000000b2; Distance &#x3D; 0053; Steps &#x3D; 25; Stride &#x3D; 3.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000000b2; Target &#x3D; 0x000000e7; Distance &#x3D; 0053; Steps &#x3D; 25; Stride &#x3D; 3.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000000e7; Target &#x3D; 0x000000f5; Distance &#x3D; 0014; Steps &#x3D; 25; Stride &#x3D; 1.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000000f5; Target &#x3D; 0x00000137; Distance &#x3D; 0066; Steps &#x3D; 25; Stride &#x3D; 3.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000137; Target &#x3D; 0x00000149; Distance &#x3D; 0018; Steps &#x3D; 25; Stride &#x3D; 1.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000149; Target &#x3D; 0x000001b1; Distance &#x3D; 0104; Steps &#x3D; 25; Stride &#x3D; 5.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000001b1; Target &#x3D; 0x0000022b; Distance &#x3D; 0122; Steps &#x3D; 25; Stride &#x3D; 5.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x0000022b; Target &#x3D; 0x00000271; Distance &#x3D; 0070; Steps &#x3D; 25; Stride &#x3D; 3.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000271; Target &#x3D; 0x000002b8; Distance &#x3D; 0071; Steps &#x3D; 25; Stride &#x3D; 3.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000002b8; Target &#x3D; 0x00000359; Distance &#x3D; 0161; Steps &#x3D; 25; Stride &#x3D; 7.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000359; Target &#x3D; 0x000003a4; Distance &#x3D; 0075; Steps &#x3D; 25; Stride &#x3D; 3.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000003a4; Target &#x3D; 0x00000401; Distance &#x3D; 0093; Steps &#x3D; 25; Stride &#x3D; 4.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000401; Target &#x3D; 0x00000413; Distance &#x3D; 0018; Steps &#x3D; 25; Stride &#x3D; 1.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000413; Target &#x3D; 0x0000046b; Distance &#x3D; 0088; Steps &#x3D; 25; Stride &#x3D; 4.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x0000046b; Target &#x3D; 0x000004ec; Distance &#x3D; 0129; Steps &#x3D; 25; Stride &#x3D; 6.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000004ec; Target &#x3D; 0x00000588; Distance &#x3D; 0156; Steps &#x3D; 25; Stride &#x3D; 7.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000588; Target &#x3D; 0x000005f3; Distance &#x3D; 0107; Steps &#x3D; 25; Stride &#x3D; 5.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000005f3; Target &#x3D; 0x000006b1; Distance &#x3D; 0190; Steps &#x3D; 25; Stride &#x3D; 8.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000006b1; Target &#x3D; 0x00000734; Distance &#x3D; 0131; Steps &#x3D; 25; Stride &#x3D; 6.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000734; Target &#x3D; 0x00000815; Distance &#x3D; 0225; Steps &#x3D; 25; Stride &#x3D; 9.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000815; Target &#x3D; 0x000008af; Distance &#x3D; 0154; Steps &#x3D; 25; Stride &#x3D; 7.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000008af; Target &#x3D; 0x000009f7; Distance &#x3D; 0328; Steps &#x3D; 25; Stride &#x3D; 14.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000009f7; Target &#x3D; 0x00000ad9; Distance &#x3D; 0226; Steps &#x3D; 25; Stride &#x3D; 10.</span><br></pre></td></tr></table></figure>

<p>从上面的内核日志可得知，内屏亮度最低时，对应的亮度寄存器的值为 <code>0x00</code>。<br>当用户通过快捷键调高亮度时，寄存器值变为 <code>0x36</code>，因此你可以指定寄存器最低值为 <code>0x18</code> 或 [0x00, 0x36] 区间内的任意一个值来阻止显示器在最低档位时直接黑屏。<br>你可能需要安装 DEBUG 版本的 WhateverGreen 并提取内核日志来找到一个适合你笔记本的值。</p>
</details>

<details>
<summary>样例: 为一台 Coffee Lake 笔记本定制亮度丝滑器</summary>

<p>如下的内核日志是从一台 Coffee Lake 笔记本上提取的，显卡型号为 Intel UHD Graphics 630。<br>日志反映了用户通过亮度快捷键从最低档位调到最高档位时寄存器值的变化。<br>因为每个亮度档位之间对应的寄存器值的距离较短, 我们采用 <code>N = 35</code> 以及 <code>T = 7</code> 来让内屏在 250 毫秒左右达到下一个档位。  </p>
<table>
<thead>
<tr>
<th align="center">设备属性名称</th>
<th align="center">类型</th>
<th align="center">值</th>
<th align="center">备注</th>
</tr>
</thead>
<tbody><tr>
<td align="center">enable-backlight-smoother</td>
<td align="center">Data</td>
<td align="center">01000000</td>
<td align="center">启用亮度丝滑器</td>
</tr>
<tr>
<td align="center">backlight-smoother-steps</td>
<td align="center">Data</td>
<td align="center">23000000</td>
<td align="center">35 (0x23 使用小字节序编码)</td>
</tr>
<tr>
<td align="center">backlight-smoother-interval</td>
<td align="center">Data</td>
<td align="center">07000000</td>
<td align="center">07 (0x07 使用小字节序编码)</td>
</tr>
<tr>
<td align="center">backlight-smoother-threshold</td>
<td align="center">Data</td>
<td align="center">2C010000</td>
<td align="center">300 (0x012C 使用小字节序编码)</td>
</tr>
</tbody></table>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000000; Target &#x3D; 0x000004ae; Distance &#x3D; 1198; Steps &#x3D; 35; Stride &#x3D; 35.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000004ae; Target &#x3D; 0x00000613; Distance &#x3D; 0357; Steps &#x3D; 35; Stride &#x3D; 11.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000613; Target &#x3D; 0x000007f3; Distance &#x3D; 0480; Steps &#x3D; 35; Stride &#x3D; 14.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000007f3; Target &#x3D; 0x00000a4b; Distance &#x3D; 0600; Steps &#x3D; 35; Stride &#x3D; 18.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000a4b; Target &#x3D; 0x00000e0c; Distance &#x3D; 0961; Steps &#x3D; 35; Stride &#x3D; 28.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00000e0c; Target &#x3D; 0x000012bb; Distance &#x3D; 1199; Steps &#x3D; 35; Stride &#x3D; 35.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000012bb; Target &#x3D; 0x000019c6; Distance &#x3D; 1803; Steps &#x3D; 35; Stride &#x3D; 52.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000019c6; Target &#x3D; 0x0000239b; Distance &#x3D; 2517; Steps &#x3D; 35; Stride &#x3D; 72.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x0000239b; Target &#x3D; 0x00003043; Distance &#x3D; 3240; Steps &#x3D; 35; Stride &#x3D; 93.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00003043; Target &#x3D; 0x00004216; Distance &#x3D; 4563; Steps &#x3D; 35; Stride &#x3D; 131.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00004216; Target &#x3D; 0x000050d5; Distance &#x3D; 3775; Steps &#x3D; 35; Stride &#x3D; 108.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x000050d5; Target &#x3D; 0x00005aea; Distance &#x3D; 2581; Steps &#x3D; 35; Stride &#x3D; 74.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00005aea; Target &#x3D; 0x00007d21; Distance &#x3D; 8759; Steps &#x3D; 35; Stride &#x3D; 251.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00007d21; Target &#x3D; 0x0000acf3; Distance &#x3D; 12242; Steps &#x3D; 35; Stride &#x3D; 350.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x0000acf3; Target &#x3D; 0x0000effc; Distance &#x3D; 17161; Steps &#x3D; 35; Stride &#x3D; 491.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x0000effc; Target &#x3D; 0x0001328e; Distance &#x3D; 17042; Steps &#x3D; 35; Stride &#x3D; 487.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x0001328e; Target &#x3D; 0x00014ead; Distance &#x3D; 7199; Steps &#x3D; 35; Stride &#x3D; 206.</span><br><span class="line">igfx: @ (DBG) BLS: [COMM] Processing the request: Current &#x3D; 0x00014ead; Target &#x3D; 0x0001d3cc; Distance &#x3D; 34079; Steps &#x3D; 35; Stride &#x3D; 974.</span><br></pre></td></tr></table></figure>

</details>

<h2 id="修复在-Kaby-Lake-Coffee-Lake-平台上运行-macOS-13-4-或以上版本的笔记本开机持续3分钟暗屏问题"><a href="#修复在-Kaby-Lake-Coffee-Lake-平台上运行-macOS-13-4-或以上版本的笔记本开机持续3分钟暗屏问题" class="headerlink" title="修复在 Kaby Lake/Coffee Lake 平台上运行 macOS 13.4 或以上版本的笔记本开机持续3分钟暗屏问题"></a>修复在 Kaby Lake/Coffee Lake 平台上运行 macOS 13.4 或以上版本的笔记本开机持续3分钟暗屏问题</h2><p>如果你之前使用“亮度寄存器修复”（也就是 <code>-igfxblr</code> 这个启动参数）来解决笔记本开机持续3分钟左右暗屏的问题，在升级到 macOS 13.4 或之后的版本后你会发现该补丁失效了。这是因为苹果简化了显卡驱动中读写寄存器相关的函数，导致编译器优化了函数调用的汇编代码，进而导致“亮度寄存器修复”以及“亮度丝滑器”注册的钩子失效。从 v1.6.5 开始，<em>WEG</em> 提供了新的补丁来撤销编译器对亮度调节相关函数的优化以及为 Coffee Lake 平台的笔记本重写了调节亮度的函数，从而解决开机持续3分钟暗屏以及“亮度丝滑器”失效的问题。从 v1.6.6 开始，<em>WEG</em> 支持 Kaby Lake 平台。</p>
<p>请注意这个新补丁仅适用于使用 macOS 13.4 以及以上的 Kaby Lake 或者 Coffee Lake 核显驱动的笔记本用户。你可以为核显添加 <code>enable-backlight-registers-alternative-fix</code> 属性或者直接使用 <code>-igfxblt</code> 启动参数来启用这个新的补丁。与此同时，你可以删除原“亮度寄存器修复”的 <code>enable-backlight-registers-fix</code> 设备属性或者 <code>-igfxblr</code> 启动参数。如果你想在 macOS 13.4 或以上系统中使用“亮度丝滑器”，你需要添加 <code>-igfxblt</code> 以及 <code>-igfxbls</code> 这两个启动参数。</p>
<p>请注意 Ice Lake 平台的笔记本用户不受此问题影响。</p>
<h2 id="修复-Ice-Lake-平台上笔记本开机持续花屏7到15秒的问题"><a href="#修复-Ice-Lake-平台上笔记本开机持续花屏7到15秒的问题" class="headerlink" title="修复 Ice Lake 平台上笔记本开机持续花屏7到15秒的问题"></a>修复 Ice Lake 平台上笔记本开机持续花屏7到15秒的问题</h2><p>为核显添加 <code>enable-dbuf-early-optimizer</code> 属性或者直接使用 <code>-igfxdbeo</code> 启动参数以修复 Ice Lake 笔记本开机后内屏短暂花屏的问题。<br>若发现内核日志记录了如下 DBUF 以及 Pipe Underrun 相关的错误信息，请启用此补丁来修复这些错误。</p>
<p>此补丁通过提前调用优化显示缓冲区分配的函数来修复 DBUF 相关错误。<br>用户可通过 <code>dbuf-optimizer-delay</code> 设备属性来指定具体的延迟时间（单位为秒，值类型为<code>Data</code>）。<br>若用户未指定此属性，<em>WEG</em> 将使用如下所述的默认值。</p>
<p>社区用户反馈 1 到 3 秒的延迟可在不影响外接显示器的情况下修复 DBUF 相关错误，而 <em>WEG</em> v1.5.4 所用的默认 0 秒延迟可能会导致部分笔记本外接显示器时内屏外屏同时花屏的问题。<br>从 v1.5.5 开始，默认的延迟时间改为 1 秒，这样用户在通常情况下无需手动添加设备属性来修改延迟时间。</p>
<details>
<summary>包含 DBUF 以及 Pipe Underrun 错误信息的内核日志</summary>

<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">[IGFB][ERROR][DISPLAY   ] Display Pipe Underrun occurred on pipe(s) A</span><br><span class="line">[IGFB][ERROR][DISPLAY   ] Internal cached DBuf values are not set. Failed to distribute DBufs</span><br></pre></td></tr></table></figure>

</details>

<h2 id="已知问题"><a href="#已知问题" class="headerlink" title="已知问题"></a>已知问题</h2><p><em>兼容性</em>：</p>
<ul>
<li>受限制的显卡：HD2000 和 HD2500，它们只能用于 IQSV (因为在白苹果中它们只用来干这个)，无解。</li>
<li>奔腾/赛扬系列核显无解。</li>
<li>Haswell 平台的 HDMI 黑屏：请使用 WEG 或使用 macOS 10.13.4 及以上版本。</li>
<li>SKL 或更新平台的桌面版核显：对两个或更多显示器的支持不完整。在 macOS 10.14 中有改善趋势。</li>
<li>显示器无法在 SKL 或更新平台的桌面版核显上唤醒：通过 DP 连接或升级到 macOS 10.14 或许可以解决。</li>
</ul>
<h2 id="花屏和设置"><a href="#花屏和设置" class="headerlink" title="花屏和设置"></a>花屏和设置</h2><ul>
<li>HD 3000 偶见 UI 花屏：由于 SNB 平台中的视频内存量取决于整个系统内存 —— 因此至少需要 8 GB，但没有稳妥的解决方案。推荐在 BIOS 中安装 <a href="https://applelife.ru/posts/595326" target="_blank" rel="noopener">Max TOLUD to Dynamic</a>（译者注：原文发布于俄文社区，所以并无中文版本）。此外，<a href="https://www.applelife.ru/posts/730496" target="_blank" rel="noopener">这些补丁</a>（译者注：原文发布于俄文社区，所以并无中文版本）也可能有所帮助。</li>
<li>“八个苹果问题”、在 UEFI GOP 驱动与 macOS 驱动过度阶段，File Vault 2 背景消失问题（由于 EDID 不兼容）：在 <em>WEG</em> 中部分解决。</li>
<li>PAVP 冻屏问题（视频播放期间冻结、快速查看中断等）：通过 <em>WEG</em> 解决，代价是禁用 HDCP。</li>
<li>部分 Haswell 独有问题可通过语义补丁 <code>framebuffer-cursormem</code> 解决。</li>
<li>macOS 10.14 下，某些 KBL 核显可能会遇到图像文字发虚问题，可临时仿冒核显设备 ID 为 SKL 平台解决。</li>
<li>移动版 CFL 核显的数分钟黑屏问题已由 <em>WEG</em> 修复。</li>
<li>BIOS 中缺失更改 FB 内存量选项时：可通过使用 <code>framebuffer-stolenmem</code> 和 <code>framebuffer-fbmem</code> 语义补丁；或在 UEFI Shell 中手动赋值解决。<strong>否则将会内核崩溃（Kernel Panic）</strong>。<a href="https://www.applelife.ru/posts/750369" target="_blank" rel="noopener">更多解释</a>（译者注：原文发布于俄文社区，所以并无中文版本）</li>
<li>一些核显（如 KBL 和 CFL）在低电压模式 (low power state) 下可能会引发系统不稳定的问题，有时 NVMe 驱动引发的崩溃或许与此有关。目前可行的方案是加入 <code>forceRenderStandby=0</code> 启动参数以关闭 RC6 Render Standby。请参阅<a href="https://github.com/acidanthera/bugtracker/issues/1193" target="_blank" rel="noopener">这个 issue</a>以获取更多信息。</li>
</ul>
<p><em>性能和媒体内容</em>：</p>
<ul>
<li>在不受支持的配置（NVIDIA + SNB/SKL/KBL; AMD + Ivy）上，与独显的兼容问题已由 <em>WEG</em> 修复，从 macOS 10.13.4 起，该问题已被 Apple 官方解决。</li>
<li>受保护的 iTunes 内容问题已由 <em>WEG</em> 修复。从 macOS 10.12 起，在 Ivy 或更新平台的核显上，在 iTunes 上观看高清电影时不能没有独显。</li>
</ul>
<p>在核显非空端口输出下使用 <a href="https://i.applelife.ru/2019/05/451893_10.12_VDADecoderChecker.zip" target="_blank" rel="noopener">VDADecoderChecker</a> 的输出必须类似如下图：</p>
<p><img src="https://github.com/acidanthera/WhateverGreen/blob/master/Manual/Img/vda.png" alt="">  </p>
<p>对于特殊的 IGPU, IMEI 和 HDEF 设备位置，可使用 <a href="https://github.com/acidanthera/gfxutil" target="_blank" rel="noopener">gfxutil</a>: <code>gfxutil -f IGPU</code>, <code>gfxutil -f IMEI</code>, <code>gfxutil -f HDEF</code> 定位。通常来说，IGPU 和 IMEI 的设备位置很标准。</p>
<p>WWHC团队正在寻找天才史蒂夫的转世（引义天才程序员，译者注）加入我们，如果你觉得你可能是，请告诉我们。</p>

      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2021/Sur%E4%B8%8B%E5%AE%89%E8%A3%853b1b%E6%95%B0%E5%AD%A6%E5%8A%A8%E7%94%BB%E5%BC%95%E6%93%8E/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2021/Sur%E4%B8%8B%E5%AE%89%E8%A3%853b1b%E6%95%B0%E5%AD%A6%E5%8A%A8%E7%94%BB%E5%BC%95%E6%93%8E/" class="post-title-link" itemprop="url">Big Sur下安装3b1b数学动画引擎</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>
              

              <time title="创建时间：2021-04-09 08:38:12 / 修改时间：14:25:03" itemprop="dateCreated datePublished" datetime="2021-04-09T08:38:12+08:00">2021-04-09</time>
            </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>系统环境：操作系统Big Sur、Python3.9</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2021/Sur%E4%B8%8B%E5%AE%89%E8%A3%853b1b%E6%95%B0%E5%AD%A6%E5%8A%A8%E7%94%BB%E5%BC%95%E6%93%8E/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2020/4-9/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/4-9/" class="post-title-link" itemprop="url">显示器接口修正及自定义FrameBuffer参数驱动黑苹果AMD显卡的新方式</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-04-09 12:04:19" itemprop="dateCreated datePublished" datetime="2020-04-09T12:04:19+08:00">2020-04-09</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-04-29 19:36:53" itemprop="dateModified" datetime="2020-04-29T19:36:53+08:00">2020-04-29</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/Hackintosh/" itemprop="url" rel="index"><span itemprop="name">Hackintosh</span></a>
                </span>
            </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>通过对AMD驱动的仔细研究，发现之前人们在解决AMD显卡问题上出现了盲区，也可以说是思路被固定住了。这个盲区在于，人们没有完全理解FrameBuffer的机制，现在我提出一种新的解决思路和方案，可以灵活地运用FrameBuffer的参数，而不被FBName所制约。本文分为两个部分，第一部分介绍脱离FBName制约的显示器接口修正的方式；第二部分介绍FrameBuffer的参数的使用，达到调整显卡工作状态的目的。通过几个网友的测试，结果显示Vega显卡运行FCPX时火力全开，在这里特别感谢QQ好友Mace的大量测试工作。</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2020/4-9/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2020/2020-4-2/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/2020-4-2/" class="post-title-link" itemprop="url">Asus z370-p_8700k_Vega56 安装苹果系统攻略</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-04-02 11:36:33" itemprop="dateCreated datePublished" datetime="2020-04-02T11:36:33+08:00">2020-04-02</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-04-29 19:38:08" itemprop="dateModified" datetime="2020-04-29T19:38:08+08:00">2020-04-29</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/Hackintosh/" itemprop="url" rel="index"><span itemprop="name">Hackintosh</span></a>
                </span>
            </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>本重点讲述在Asus z370-p-8700k-Vega56上黑苹果时，需要关注的重点问题，也是黑果们必须经历的。涉及到Bios设置、ACPI调教、AMD显卡属性注入等等内容。</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2020/2020-4-2/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2020/%E7%94%A8FreeBSD%E6%9E%B6%E8%AE%BEMacOS%E4%B8%93%E7%94%A8%E7%9A%84AFP%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/%E7%94%A8FreeBSD%E6%9E%B6%E8%AE%BEMacOS%E4%B8%93%E7%94%A8%E7%9A%84AFP%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8/" class="post-title-link" itemprop="url">用FreeBSD架设MacOS专用的AFP文件服务器</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-03-31 15:48:50" itemprop="dateCreated datePublished" datetime="2020-03-31T15:48:50+08:00">2020-03-31</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-04-18 12:24:08" itemprop="dateModified" datetime="2020-04-18T12:24:08+08:00">2020-04-18</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/" itemprop="url" rel="index"><span itemprop="name">服务器</span></a>
                </span>
            </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>做文件服务，一般是用Samba，不过在MacOS系统上链接Samba，就没了MacOS超牛X的感觉。那么我们请出苹果的AFP文件服务。</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2020/%E7%94%A8FreeBSD%E6%9E%B6%E8%AE%BEMacOS%E4%B8%93%E7%94%A8%E7%9A%84AFP%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2020/4738g/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/4738g/" class="post-title-link" itemprop="url">Acer 4738G 黑苹果记实</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-03-30 16:07:37" itemprop="dateCreated datePublished" datetime="2020-03-30T16:07:37+08:00">2020-03-30</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-04-29 19:40:03" itemprop="dateModified" datetime="2020-04-29T19:40:03+08:00">2020-04-29</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/Hackintosh/" itemprop="url" rel="index"><span itemprop="name">Hackintosh</span></a>
                </span>
            </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>本文记述了Acer 4738G 黑苹果的全过程。你在这里可以学到如何使用SSDT屏蔽或填加设备。</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2020/4738g/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2020/%E6%B5%81%E7%A8%8B%E5%9B%BE%E8%B0%83%E8%89%B2/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/%E6%B5%81%E7%A8%8B%E5%9B%BE%E8%B0%83%E8%89%B2/" class="post-title-link" itemprop="url">流程图调色</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-03-29 18:08:35" itemprop="dateCreated datePublished" datetime="2020-03-29T18:08:35+08:00">2020-03-29</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-04-29 19:39:14" itemprop="dateModified" datetime="2020-04-29T19:39:14+08:00">2020-04-29</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" itemprop="url" rel="index"><span itemprop="name">学习笔记</span></a>
                </span>
            </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>网上介绍在Hexo下使用flowchart制作流程图的文章比较多，一般是调用hexo-filter-flowchart插件。由于我将Next主题调成了暗黑样式，Hexo默认的配色就很不协调了。通过一番努力终于成功改成和现在主题协调的配色。</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2020/%E6%B5%81%E7%A8%8B%E5%9B%BE%E8%B0%83%E8%89%B2/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2020/Hexo%E4%B9%8BMarkdown%E8%AF%AD%E6%B3%95%E3%80%81%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E3%80%81%E6%B5%81%E7%A8%8B%E5%9B%BE/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/Hexo%E4%B9%8BMarkdown%E8%AF%AD%E6%B3%95%E3%80%81%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E3%80%81%E6%B5%81%E7%A8%8B%E5%9B%BE/" class="post-title-link" itemprop="url">Hexo之Markdown语法、数学公式、流程图</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-03-26 12:37:50" itemprop="dateCreated datePublished" datetime="2020-03-26T12:37:50+08:00">2020-03-26</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-04-29 19:38:49" itemprop="dateModified" datetime="2020-04-29T19:38:49+08:00">2020-04-29</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/" itemprop="url" rel="index"><span itemprop="name">学习笔记</span></a>
                </span>
            </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>本文是初次使用Hexo编辑博客的学习记录。Markdown是轻量的标记语言，语法超级简单，常用标记符号也不多。用Markdown来格式化博客文章页面，比学习HTML省时省事。本文另外实验了数学公式、流程图的现实效果。</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2020/Hexo%E4%B9%8BMarkdown%E8%AF%AD%E6%B3%95%E3%80%81%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E3%80%81%E6%B5%81%E7%A8%8B%E5%9B%BE/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

        
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://halma.gitee.io/2020/hello-world/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="左右流之">
      <meta itemprop="description" content="折腾不需要理由">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="左右流之的放逐岛">
    </span>
      <header class="post-header">
        <h2 class="post-title" itemprop="name headline">
          
            <a href="/2020/hello-world/" class="post-title-link" itemprop="url">Hello World</a>
        </h2>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-03-26 12:30:57" itemprop="dateCreated datePublished" datetime="2020-03-26T12:30:57+08:00">2020-03-26</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-04-18 12:23:58" itemprop="dateModified" datetime="2020-04-18T12:23:58+08:00">2020-04-18</time>
              </span>

          
  
  

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
          <p>Welcome to Hexo! This is your very first post. Check documentationfor more info.</p>
          <!--noindex-->
            <div class="post-button">
              <a class="btn" href="/2020/hello-world/">
                阅读全文 &raquo;
              </a>
            </div>
          <!--/noindex-->
        
      
    </div>

    
    
    
      <footer class="post-footer">
        <div class="post-eof"></div>
      </footer>
  </article>
  
  
  

  </div>

  



          </div>
          

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <img class="site-author-image" itemprop="image" alt="左右流之"
      src="/images/avatar.gif">
  <p class="site-author-name" itemprop="name">左右流之</p>
  <div class="site-description" itemprop="description">折腾不需要理由</div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">9</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">3</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">11</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>
  <div class="links-of-author motion-element">
      <span class="links-of-author-item">
        <a href="https://gitee.com/halma/" title="Gitee → https:&#x2F;&#x2F;gitee.com&#x2F;halma&#x2F;" rel="noopener" target="_blank"><i class="fa fa-fw fa-github"></i>Gitee</a>
      </span>
      <span class="links-of-author-item">
        <a href="mailto:459197097@qq.com" title="E-Mail → mailto:459197097@qq.com" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>E-Mail</a>
      </span>
  </div>



      </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2025</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">左右流之</span>
</div>
  <div class="powered-by">由 <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://pisces.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> 强力驱动
  </div>

        
<div class="busuanzi-count">
  <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span class="post-meta-item" id="busuanzi_container_site_uv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-user"></i>
      </span>
      <span class="site-uv" title="总访客量">
        <span id="busuanzi_value_site_uv"></span>
      </span>
    </span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item" id="busuanzi_container_site_pv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-eye"></i>
      </span>
      <span class="site-pv" title="总访问量">
        <span id="busuanzi_value_site_pv"></span>
      </span>
    </span>
</div>








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>
  <script src="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  













<script>
if (document.querySelectorAll('pre.mermaid').length) {
  NexT.utils.getScript('//cdn.jsdelivr.net/npm/mermaid@8/dist/mermaid.min.js', () => {
    mermaid.initialize({
      theme    : 'forest',
      logLevel : 3,
      flowchart: { curve     : 'linear' },
      gantt    : { axisFormat: '%m/%d/%Y' },
      sequence : { actorMargin: 50 }
    });
  }, window.mermaid);
}
</script>


  

  
      

<script>
  if (typeof MathJax === 'undefined') {
    window.MathJax = {
      loader: {
        source: {
          '[tex]/amsCd': '[tex]/amscd',
          '[tex]/AMScd': '[tex]/amscd'
        }
      },
      tex: {
        inlineMath: {'[+]': [['$', '$']]},
        tags: 'ams'
      },
      options: {
        renderActions: {
          findScript: [10, doc => {
            document.querySelectorAll('script[type^="math/tex"]').forEach(node => {
              const display = !!node.type.match(/; *mode=display/);
              const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display);
              const text = document.createTextNode('');
              node.parentNode.replaceChild(text, node);
              math.start = {node: text, delim: '', n: 0};
              math.end = {node: text, delim: '', n: 0};
              doc.math.push(math);
            });
          }, '', false],
          insertedScript: [200, () => {
            document.querySelectorAll('mjx-container').forEach(node => {
              let target = node.parentNode;
              if (target.nodeName.toLowerCase() === 'li') {
                target.parentNode.classList.add('has-jax');
              }
            });
          }, '', false]
        }
      }
    };
    (function () {
      var script = document.createElement('script');
      script.src = '//cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js';
      script.defer = true;
      document.head.appendChild(script);
    })();
  } else {
    MathJax.startup.document.state(0);
    MathJax.texReset();
    MathJax.typeset();
  }
</script>

    

  


<script>
NexT.utils.loadComments(document.querySelector('#valine-comments'), () => {
  NexT.utils.getScript('//unpkg.com/valine/dist/Valine.min.js', () => {
    var GUEST = ['nick', 'mail', 'link'];
    var guest = 'nick,mail,link';
    guest = guest.split(',').filter(item => {
      return GUEST.includes(item);
    });
    new Valine({
      el         : '#valine-comments',
      verify     : false,
      notify     : false,
      appId      : 'pj8AT7zpJyISRPiNehTuH3SM-gzGzoHsz',
      appKey     : 'A1fvdQLU97x0GozkPIR0KHDW',
      placeholder: "说点什么？",
      avatar     : 'mm',
      meta       : guest,
      pageSize   : '10' || 10,
      visitor    : false,
      lang       : '' || 'zh-cn',
      path       : location.pathname,
      recordIP   : false,
      serverURLs : ''
    });
  }, window.Valine);
});
</script>

</body>
</html>
